Linux MySQL 5.7二进制 小版本升级
成都创新互联公司是一家集策划、设计、技术开发一体的专业网络公司,技术团队10年来致力于为客户提供企业网站定制,手机网站制作。经过多年发展,公司技术团队,先后服务了1000+客户,包括各类中小企业、上市公司、高校、政府。公司在过去10年的资源积累,追求并一直坚持,为客户打造更有价值的互联网平台。
MySQL5.7二进制安装在Unix/Linux上升级时,分为就地和逻辑升级方法。
就地升级包括关闭旧的MySQL服务器,用新的MySQL服务器替换旧的MySQL二进制文件或软件包,在现有数据目录上重新启动MySQL,以及运行mysql_upgrade。
如果您使用XA事务InnoDB,请XA RECOVER在升级之前运行以检查未提交的XA事务。如果返回结果,则通过发出XA COMMIT或 XA ROLLBACK声明来提交或回滚XA事务。
mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0"
在关闭过程中,InnoDB执行完全清除并在关闭之前更改缓冲区合并,这可确保在发布版本之间存在文件格式差异时完全准备好数据文件。
mysqladmin -u root -p shutdown
下载,解压新的MySQL二进制分发包;
授权:
chown -R mysql.mysql /usr/loacl/mysql_new
把MySQL的软连接指向新的mysql服务
unlink /usr/loacl/mysql
ln -s /usr/loacl/mysql_new /usr/loacl/mysql
mysqld_safe --user=mysql --datadir=/path/to/existing-datadir
mysql_upgrade -u root -p
mysql_upgrade检查所有数据库中的所有表是否与当前版本的MySQL不兼容。mysql_upgrade还会升级mysql系统数据库,以便您可以利用新的权限或功能。
mysqladmin -u root -p shutdown
mysqld_safe --user=mysql --datadir=/path/to/existing-datadir
逻辑升级涉及使用备份或导出实用程序(如mysqldump)从旧MySQL实例导出SQL ,安装新的MySQL服务器以及将SQL应用于新的MySQL实例。
简单说明逻辑升级就是导出数据,然后升级,最后再导入数据;安全性高,主要针对数据量不大的数据库;常用的工具:mysqldump和Xtrabackup。
mysqldump -u root -p
--add-drop-table --routines --events
--all-databases --force > data-for-upgrade.sql
注意
如果数据库包含存储的程序, 请使用--routines和 mysqldump的--events选项 (如上所示)。该 选项包括转储中的所有数据库,包括保存系统表的 数据库。 --all-databasesmysql
mysqladmin -u root -p shutdown
参考:
mysql 5.7.21 二进制安装
mysqld --initialize --datadir=/path/to/5.7-datadir
复制'root'@'localhost' 显示在屏幕上的临时密码或写入错误日志以供日后使用。
mysqld_safe --user=mysql --datadir=/path/to/5.7-datadir
shell> mysql -u root -p
Enter password: **** <- enter temporary root password
mysql> ALTER USER USER() IDENTIFIED BY 'your new password';
mysql -u root -p --force < data-for-upgrade.sql
mysql_upgrade -u root -p
mysql_upgrade检查所有数据库中的所有表是否与当前版本的MySQL不兼容。mysql_upgrade还会升级mysql系统数据库,以便您可以利用新的权限或功能。
mysqladmin -u root -p shutdown
mysqld_safe --user=mysql --datadir=/path/to/5.7-datadir
https://dev.mysql.com/doc/refman/5.7/en/upgrading.html