MySQL 升级记录
MySQL社区版本下载地址
Product Version
选择具体的版本
Select Operating System
选择 Linux - Generic
OS Version
选择对应的操作系统位数
最初下载成了 Source Code,必须重新编译安装。
本次升级继续延用 MySQL 5.7 版本:
[root@JT-T-KEYAN-001 src]# tar -zxf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
[root@JT-T-KEYAN-001 src]#
切换到mysql执行目录,备份数据库SQL文件:
[root@JT-T-KEYAN-001 src]# cd /usr/local/mysql/bin/
[root@JT-T-KEYAN-001 bin]#
[root@JT-T-KEYAN-001 bin]# ./mysqldump -uroot -p --databases nbmetro_SIMS > /root/nbmetro_20201019.sql
Enter password:
[root@JT-T-KEYAN-001 bin]# ll /root/nbmetro_20201019.sql
-rw-r--r-- 1 root root 2307817 10月 19 10:19 /root/nbmetro_20201019.sql
[root@JT-T-KEYAN-001 bin]#
备份整个MySQL数据目录(以防升级出现问题时,可以进行退回):
[root@JT-T-KEYAN-001 bin]# cd -
[root@JT-T-KEYAN-001 src]#
[root@JT-T-KEYAN-001 src]# tar -zcf mysql_data.tar.gz /data/mysql
[root@JT-T-KEYAN-001 src]#
停止MySQL服务
[root@JT-T-KEYAN-001 src]# service mysqld stop
Shutting down MySQL.. [确定]
[root@JT-T-KEYAN-001 src]#
[root@JT-T-KEYAN-001 src]#
备份原服务脚本
[root@JT-T-KEYAN-001 src]# cp /etc/init.d/mysqld /etc/init.d/mysqld_5.7.16
[root@JT-T-KEYAN-001 src]#
备份原版本的mysql目录
[root@JT-T-KEYAN-001 src]# mv /usr/local/mysql /usr/local/mysql5.7.16
[root@JT-T-KEYAN-001 src]#
安装新的MySQL版本,及 mysqld 服务:
[root@JT-T-KEYAN-001 src]# mv mysql-5.7.31-linux-glibc2.12-x86_64 /usr/local/mysql
[root@JT-T-KEYAN-001 src]#
[root@JT-T-KEYAN-001 src]# chown -R mysql:mysql /usr/local/mysql
[root@JT-T-KEYAN-001 src]#
[root@JT-T-KEYAN-001 src]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
cp:是否覆盖"/etc/init.d/mysqld"? y
[root@JT-T-KEYAN-001 src]#
使用安全模式启动MySQL:
[root@JT-T-KEYAN-001 src]# /usr/local/mysql/bin/mysqld_safe --user=mysql --datadir=/data/mysql
启动后一直占用终端,进行其他的操作时,需要新开一个终端
可以在最后添加&
将其在后台启用
检查表是否与当前版本兼容,并更新系统库:
[root@JT-T-KEYAN-001 ~]# /usr/local/mysql/bin/mysql_upgrade -u root -p
Enter password:
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.
.
.
.
Upgrade process completed successfully.
Checking if update is needed.
[root@JT-T-KEYAN-001 ~]#
关闭MySQL:
[root@JT-T-KEYAN-001 ~]# /usr/local/mysql/bin/mysqladmin -u root -p shutdown
Enter password:
[root@JT-T-KEYAN-001 ~]#
通过服务启动MySQL:
[root@JT-T-KEYAN-001 ~]# service mysqld start
Starting MySQL. [确定]
[root@JT-T-KEYAN-001 ~]#