Linux MySQL 5.7二进制 小版本升级

MySQL5.7二进制安装在Unix/Linux上升级时,分为就地和逻辑升级方法。
注意:目录路径请根据实际情况修改
 
一 、就地升级
就地升级包括关闭旧的MySQL服务器,用新的MySQL服务器替换旧的MySQL二进制文件或软件包,在现有数据目录上重新启动MySQL,以及运行mysql_upgrade。
官网下载所需的版本。
 
1、数据库生产一定要记得数据库备份,通常采用xtrabackup热备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password=kkk123456 /u02/mysql_backup/full
 
2、关闭数据库
service mysqld stop
 
也可以以下方式关闭,本次未使用:
配置MySQL以通过设置innodb_fast_shutdown为 执行慢速关闭 0。
mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0"
在关闭过程中,InnoDB执行完全清除并在关闭之前更改缓冲区合并,这可确保在发布版本之间存在文件格式差异时完全准备好数据文件。
关闭旧的MySQL服务器
mysqladmin -u root -p shutdown
 
3、解压数据库软件mysql-5.7.36到新目录下,如/data/mysql-5.7.36,并且设定权限
chown -R mysql.mysql /data/mysql-5.7.36
chmod -R 775 /data/mysql-5.7.36
 
4、复制my.cnf到当前数据库软件目录、并修改安装目录
basedir=/data/mysql-5.7.36/
 
5、启动新版本数据库
nohup /data/mysql-5.7.36/bin/mysqld_safe --defaults-file=/data/mysql-5.7.36/my.cnf --datadir=/data/mysqlware/mysql/data --user=mysql &
 
6、开始更新数据库字典(重要)
./mysql_upgrade -S /tmp/mysql.sock -P 8079 -uroot -p
 
#mysql_upgrade检查所有数据库中的所有表是否与当前版本的MySQL不兼容。mysql_upgrade还会升级mysql系统数据库,以便可以利用新的权限或功能
#更新信息
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
mysql.columns_priv OK
mysql.db OK
mysql.engine_cost OK
mysql.event OK
mysql.func OK
mysql.general_log OK
mysql.gtid_executed OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.innodb_index_stats OK
mysql.innodb_table_stats OK
mysql.ndb_binlog_index OK
mysql.plugin OK mysql.proc OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.server_cost OK
mysql.servers OK
mysql.slave_master_info OK
mysql.slave_relay_log_info OK
mysql.slave_worker_info OK
mysql.slow_log OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
Found outdated sys schema version 1.5.1.
Upgrading the sys schema.
Checking databases.
检查所需要更新的数据库信息 并且数据库更新相关数据库字典等信息
sys.sys_config OK
Upgrade process completed successfully.
 
完成后无报错提示更新成功。
 
再次访问数据库,确认版本是否更新成功
select version();
7、重新设置开机自启动服务、环境变量、/usr/bin的mysql软连接
 
二、逻辑升级
逻辑升级涉及使用备份或导出实用程序(如mysqldump)从旧MySQL实例导出SQL ,安装新的MySQL服务器以及将SQL应用于新的MySQL实例。
简单说明逻辑升级就是导出数据,然后升级,最后再导入数据;安全性高,主要针对数据量不大的数据库;常用的工具:mysqldump和Xtrabackup。
 
1、从以前的MySQL安装中导出现有数据:
2、 关闭旧的MySQL服务器
mysqladmin -u root -p shutdown
3、安装MySQL 5.7
复制’root’@‘localhost’ 显示在屏幕上的临时密码或写入错误日志以供日后使用。
4、 使用新数据目录启动MySQL 5.7服务器:
mysqld_safe --user=mysql --datadir=/path/to/5.7-datadir
5、 重置root密码:
shell> mysql -u root -p
Enter password: **** <- enter temporary root password
mysql> ALTER USER USER() IDENTIFIED BY 'your new password';
6、导入数据到新的MySQL服务器中
7、 运行mysql_upgrade
mysql_upgrade -u root -p
 
mysql_upgrade检查所有数据库中的所有表是否与当前版本的MySQL不兼容。mysql_upgrade还会升级mysql系统数据库,以便您可以利用新的权限或功能。
注意 mysql_upgrade不会升级帮助表的内容。 8、关闭并重新启动MySQL服务器以确保对系统表所做的任何更改都生效。 mysqladmin -u root -p shutdown mysqld_safe --user=mysql --datadir=/path/to/5.7-datadir
posted @   Gao_D  阅读(1145)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示