MySQL数据库版本升级

生产环境数据库使用过程中出现过几次事故,查看日志因为版本缺陷引起,最近打算升级数据库版本,由于动到数据库的东西,升级失败影响会很大,先在测试环境做升级测试。

环境

系统:Red Hat Enterprise Linux Server release 6.5 (Santiago)

数据库:MySQL-5.7.14

由于下载的二进制压缩包方式安装,自己用的Ubuntu一直apt-get方式安装升级,一直没试过二进制压缩包版本升级,网上搜了一通升级步骤,小版本可以采取本地直接升级方式。

官网下载安装包mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

步骤

停数据库

service mysql stop

解压包

tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

备份原启动服务文件并拷贝新文件

mv /etc/init.d/mysql /etc/init.d/mysql-old
cp mysql-5.7.26-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysql

修改my.cnf配置文件

vim /etc/my.cnf
basedir = /home/test/mysql-5.7.26-linux-glibc2.12-x86_64

这里只用修改basedir路径为新版本路径

修改环境变量

vim /etc/profile
export MYSQL_HOME=/home/test/mysql-5.7.26-linux-glibc2.12-x86_64
export PATH=/home/test/mysql-5.7.26-linux-glibc2.12-x86_64/bin:$PATH

使变量生效

source /etc/profile

查看修改情况

[root@test1]# which mysql
/home/test/mysql-5.7.26-linux-glibc2.12-x86_64/bin/mysql

完成,启动数据库

[root@test1]# service mysql start
Starting MySQL. ERROR! The server quit without updating PID file (/home/test/mysql/data/test1.pid).

报错什么鬼?!查看日志信息

[root@test1]# tail mysql/mysqld.log
2019-07-10T15:51:23.032417+08:00 0 [Note] InnoDB: Shutdown completed; log sequence number 3692547888
2019-07-10T15:51:23.035332+08:00 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2019-07-10T15:51:23.035358+08:00 0 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2019-07-10T15:51:23.035402+08:00 0 [Note] Shutting down plugin 'MyISAM'
2019-07-10T15:51:23.035423+08:00 0 [Note] Shutting down plugin 'sha256_password'
2019-07-10T15:51:23.035432+08:00 0 [Note] Shutting down plugin 'mysql_native_password'
2019-07-10T15:51:23.035629+08:00 0 [Note] Shutting down plugin 'binlog'
2019-07-10T15:51:23.036499+08:00 0 [Note] /home/test/mysql-5.7.14-linux-glibc2.5-x86_64/bin/mysqld: Shutdown complete

2019-07-10T07:51:23.053260Z mysqld_safe mysqld from pid file /home/test/mysql/data/eim-test1.pid ended

都没有记录启动日志,按启动提示报错信息网上查一下Starting MySQL. ERROR! The server quit without updating PID file (/home/test/mysql/data/test1.pid).给出很多办法。尝试各种办法后问题依然没有解决……

困扰几天后问题还是要解决!今天突发奇想

[root@test1 ]# mysqld
mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

缺少库文件,原来版本启动运行都正常,升级版本后怎么还提示缺少库文件了?不知道是个什么东西,先安装看。

yum install -y numactl

再次尝试启动数据库

[root@eim-test1]# service mysql start
Starting MySQL..[  OK  ]

居然OK了!!!

查看版本号

[root@eim-test1]# mysql -V
mysql  Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using  EditLine wrapper

升级成功,查看日志信息出现几个Warning,按提示执行下mysql_upgrade

mysql_upgrade -uroot -p

一路ok successfully完成。

登录数据库查看slave状态

mysql> show slave status\G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

两个Yes显示数据同步正常。

升级过程遇到了些坑,折腾许久还好成功。生活中也遇到很多问题,由于工作比较忙没时间记录管理,后面有时间再补上。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据