<强> 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软连接: