mysql升级和降级

<强> 1官方推荐的两种升级方式:

就地升级逻辑升级


<强> 2升级之前:

备份所有数据库,包括系统库mysql

[root@Darren1 ~] #, mysqldump -uroot -p147258——-B - f——主数据=https://www.yisu.com/zixun/2——事件——单一事务>/tmp/mysqlall.bak

下载5.7.16二进制包,上传解压到/opt/mysql/目录下


<强> 3升级演示:5.7.14升级到5.7.16

<强>

<强>方法一:就地升级:

设置数据库关闭方式为缓慢的方式,缓存中的数据在关闭之前全部落地:

[root@Darren1数据]# mysql -uroot -p147258 - e的集全球innodb_fast_shutdown=0;


停止数据库服务:

[root@Darren1数据]# mysqladmin -uroot -p147258关闭


把之前5.7.14的软链接/usr/地方/mysql删除,重新建立5.7.16软链接:

[root@Darren1当地]# rm射频/usr/local/mysql

[root@Darren1当地]# ln - s/opt/mysql/mysql-5.7.16-linux-glibc2.5-x86_64/usr/local/mysql


启动数据库服务:

[root@Darren1 ~] # mysqld_safe——用户=mysql——datadir=/数据/mysql/mysql3306/数据,


检查所有库中所有表的兼容性:

[root@Darren2数据]# mysql_upgrade -uroot -p147258


检查结束后会在datadir目录下生成mysql_upgrade_info文件,记录了数据库版本。

停止数据库服务:

[root@Darren1数据]# mysqladmin -uroot -p147258关闭


启动数据库服务:

[root@Darren1 ~] # mysqld_safe——用户=mysql——datadir=/数据/mysql/mysql3306/数据,

把启动5.7.16的启动脚本mysql.server复制到/etc/摆在/下,替代旧的mysqld。

root@Darren1 ~ # cp/usr/local/mysql/support-files/mysql。服务器/etc/init.d/mysqld



<强>方法二:logical-upgrade

<强>

把mysql所有库导出来:

[root@Darren1当地]#,mysqldump -uroot - p——add-drop-table——常规——活动——所有数据库——力在/tmp/data-for-upgrade。sql


停数据库服务:

[root@Darren1当地]# mysqladmin -uroot关闭- p


创建新的目录存放5.7.16:

[root@Darren1] # mkdir - p/数据/mysql/mysql3307/{数据、日志、tmp}

[root@Darren1数据]# chown - r mysql: mysql/数据/mysql/mysql3307


删除旧的软链接,重新创建软连接:

(root@Darren1 mysql) # ln - s/opt/mysql/mysql-5.7.16-linux-glibc2.5-x86_64/usr/local/mysql


复制新的配置文件,并修改端口号为3307:

[root@Darren2 mysql3307] # cp/etc/my.cnf/数据/mysql/mysql3307/my3307.cnf

[root@Darren2 mysql3307] # sed -我的# 3306 # 3307 # g’my3307.cnf


指定配置文件初始化:

(root@Darren1本)#。/mysqld——初始化——defaults-file=/数据/mysql/mysql3307/my3307.cnf 


查看错误日志,找到密码:

[root@Darren1本]#猫/数据/mysql/mysql3307/数据/错误。日志| grep密码

2016 - 11 - 24 - t14:35:59.219125z 1[注]root@localhost生成一个临时密码:kU + Ve& lo6a/j


指定3307配置文件,启动数据库服务:

(root@Darren1本)#。/mysqld_safe——defaults-file=/数据/mysql/mysql3307/my3307.cnf,


指定袜子文件登陆,输入前面查看的密码:

[root@Darren1本]# mysql -uroot - p -S /tmp/mysql3307。袜子

输入密码:,,


重新修改密码:

mysql>改变用户用户()被‘147258’;


导入之前备份数据:

[root@Darren1本]# mysql -uroot - p - s/tmp/mysql3307。袜子——力& lt;/tmp/data-for-upgrade。sql,,


检查兼容性:

[root@Darren1本]# mysql_upgrade -uroot - p - s/tmp/mysql3307。袜子


关闭服务器:

[root@Darren1本]# mysqladmin -uroot关闭- p - s/tmp/mysql3307.sock

用5.7.16二进制包重新建立3307年实例,把旧的5.7.14版本的3306实例数据导出,然后导入3307实例中,测试3307实例确保没有问题,然后删除3306实例,把3307年实例端口改为3306。

<强>

<强> 4降级演示: <强> 5.7.16降级5.7.14

<强>

<强>方法一:就地降级

<强>

设置数据库关闭方式:

[root@Darren1当地]# mysql -uroot - p - e“集全球innodb_fast_shutdown=0;”,,,,,,,,,,,,

停止数据库服务:

[root@Darren1当地]# mysqladmin -uroot关闭- p


删除redolog文件:

[root@Darren1数据]# rm射频/数据/mysql/mysql3306/数据/ib_logfile *


删除5.7.16软链接,并重新创建5.7.14软连接:

mysql升级和降级