生产环境数据库使用过程中出现过几次事故,查看日志因为版本缺陷引起,最近打算升级数据库版本,由于动到数据库的东西,升级失败影响会很大,先在测试环境做升级测试。
环境
系统: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显示数据同步正常。
升级过程遇到了些坑,折腾许久还好成功。生活中也遇到很多问题,由于工作比较忙没时间记录管理,后面有时间再补上。