mysql版本5.5.x升级到5.6.x步骤分享

网络编程 2021-07-05 15:28www.168986.cn编程入门
在我做的一个项目中,最近我对生产服务器上的一系列系统软件进行了升级,包括git、nginx、MySQL和PHP。这篇文章讲的是升级MySQL的过程,其他软件的升级将在其他文章中介绍。

    大概步骤是

    把配置文件添加skip-grant-tables参数,把basedir升级成新版本,启动mysql,执行命令mysql_upgrade升级一下字典信息,然后flush privileges;刷新授权表,注意如果是使用共享表空间,最好是把数据导出来再导入新版,如果是使用独立表空间可以使用mysql_upgrade升级。如

1. shell > service mysqld s  #把实例停掉

代码如下:

shell > mv /usr/local/mysql /usr/local/mysql.bak #把mysql5.5.x的旧basedir改名为备份目录
shell > cp -ar /data/mysql3306 /data/mysql3306.bak #把mysql5.5.x下的实例数据备份一下,以免升级过程中发生意外
shell > tar vf xxx.tar.gz -C /usr/local #把mysql5.6.x的二进制包解压到basedir路径下,这里使用mysql5.6.27版本,下载地址wget
shell > cd /usr/local/
shell > ln -s mysql-5.6.28-linux-glibc2.5-x86_64 mysql  #创建软连接
shell > \cp -ar /usr/local/mysql.bak/my.f /usr/local/mysql/ #把旧版basedir下的配置文件复制回来,如果你的配置文件不是在basedir下,那这里就不用动

2.在配置文件的mysqld下添加skip-grant-tables选项

3.shell > service mysqld start  #启动更新basedir之后的实例

4.使用mysql_upgrade命令检查不兼容的表,更新grant表

shell > mysql_upgrade -P3306 -u root -p'xx' #命令输出除了warning外,表检查都必须要为OK,然后登录mysql(登录时的提示就可以看到新的版本号),
mysql > flush privileges;

5.去掉配置文件中的skip-grant-tables

6.看看错误日志有没有什么报错,此时就可以去验证下数据是否有异常,没有异常就表示升级成功了

注意升级不可跳级,即5.1要想升级成5.6,必须先升级到5.5;所有步骤完成之后,最好再重启下mysqld

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by