【数据库】mysql5.6升级5.7(物理方式)

本文的升级方式为物理升级:

直接替换掉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

(出处: 乐维)

你可能感兴趣的:(【数据库】mysql5.6升级5.7(物理方式))