mysql版本5.5.x升级到5.6.x步骤分享
大概步骤是:
把配置文件添加:skip-grant-tables参数,把basedir升级成新版本,启动mysql,执行命令:mysql_upgrade升级一下字典信息,然后flushprivileges;刷新授权表,注意:如果是使用共享表空间,最好是把数据导出来再导入新版,如果是使用独立表空间可以使用mysql_upgrade升级。如:
1.shell>servicemysqldstop #把实例停掉
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>tarvfxxx.tar.gz-C/usr/local#把mysql5.6.x的二进制包解压到basedir路径下,这里使用mysql5.6.27版本,下载地址:wgethttp://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz shell>cd/usr/local/ shell>ln-smysql-5.6.28-linux-glibc2.5-x86_64mysql #创建软连接 shell>\cp-ar/usr/local/mysql.bak/my.cnf/usr/local/mysql/#把旧版basedir下的配置文件复制回来,如果你的配置文件不是在basedir下,那这里就不用动
2.在配置文件的mysqld下添加:skip-grant-tables选项:
3.shell>servicemysqldstart #启动更新basedir之后的实例
4.使用mysql_upgrade命令:检查不兼容的表,更新grant表
shell>mysql_upgrade-P3306-uroot-p'xx'#命令输出除了warning外,表检查都必须要为OK,然后登录mysql(登录时的提示就可以看到新的版本号),
mysql>flushprivileges;
5.去掉配置文件中的skip-grant-tables
6.看看错误日志有没有什么报错,此时就可以去验证下数据是否有异常,没有异常就表示升级成功了
注意:升级不可跳级,即5.1要想升级成5.6,必须先升级到5.5;所有步骤完成之后,最好再重启下mysqld