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 ~]#

发表评论

您的电子邮箱地址不会被公开。