本文的升级方式为物理升级:
直接替换掉mysql的安装目录和修改my.cnf,利用mysql_upgrade来完成系统表的升级,这种方法需要备份原有的文件,属于物理拷贝,速度较快。缺点的话,跨版本升级不推荐这么做,比如mysql5.1升级到mysql5.6,mysql5.5升级到mysql5.7等。
mysql5.7.23下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
准备环节:
停用跟mysql相关的一些服务或进程(zabbix、agent、php等)。
PS:记得查看下数据库mysql的表有无报错,有就要先处理,有需要备份的数据需先备份
1、mysql文件备份
#mysql -u root -pp@ssw0rd --execute="SET GLOBAL innodb_fast_shutdown=0"
#mysqldump -u root -pp@ssw0rd zabbix > /tmp/zabbix.sql
#mysqladmin -uroot -pp@ssw0rd shutdown
#mv /usr/local/mysql /usr/local/mysql_bak
2、下载mysql-5.7.23-linux-glibc2.12-x86_64.tar,放到zabbix上进行解压。
#tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar
#mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql (解压到原mysql路径)
#chown -R mysql:mysql /usr/local/mysql (更改所属用户组)
3、修改my.cnf文件
注释掉2个参数(mysql5.7已经不支持的了):
innodb_additional_mem_pool_size=8M
thread_concurrency=64
4、启用mysql
#/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --socket=/usr/local/mysql/mysql.sock &
这里可能会发生报错,需要查看数据库日志error.log定位问题所在,一般是需要注释掉某个参数。
#ps -ef | grep mysql
看到mysql5.7的进程出现,就说明启动了。
5、数据库升级
#/usr/local/mysql/bin/mysql_upgrade -u root -pp@ssw0rd --socket=/usr/local/mysql/mysql.sock
当看到最后出现:Upgrade process completed successfully.
Checking if update is needed.
就可以说明升级完成了。
6、检查数据库
查看升级后的数据库版本是否为5.7.23,以及error.log是否有报错。
重启数据库
#service mysql stop
#service mysql start
查看数据库有无启动报错
#vim /data/mysql/log/error.log
查看数据库版本
#mysql -V
#mysql -u root -pp@ssw0rd --execute="select version()"
#mysql -u root -pp@ssw0rd --execute="\s"
乐维贴士:当看到Server Version 为5.7.23,说明升级正式完成。
转自 mysql5.6升级至5.7(物理方式)
http://www.lwops.cn/forum.php?mod=viewthread&tid=63&fromuid=1
(出处: 乐维)
网友评论