本节介绍如何在Unix/Linux上降低MySQL二进制和基于包的安装。描述了就地和逻辑降级方法。
就地降级包括关闭新的MySQL版本,用旧的二进制文件或包替换新的MySQL二进制文件或包,并在现有的数据目录上重新启动旧的MySQL版本。
就地降级支持同一版本系列内的GA版本之间的降级。
MySQL APT、SLES和Yum存储库安装不支持原位降级。
执行原地降级:
查阅资料第2.12.1节,“在开始之前”。
如果使用XA事务
InnoDB
、运行XA恢复
在降级以检查未提交的XA事务之前。如果返回结果,则通过发出XA提交
或XA回滚
声明。如果你使用
InnoDB
,设置MySQL执行缓慢关闭innodb_fast_shutdown
来0
。例如:mysql -u root -p——execute="SET GLOBAL innodb_fast_shutdown=0"
慢速关机后,
InnoDB
在关闭之前执行完全清除和更改缓冲区合并,这确保在不同版本的文件格式不同的情况下完全准备好数据文件。关闭更新的MySQL服务器。例如:
Mysqladmin -u root -p shutdown
慢速关机后,移除
InnoDB
重做日志文件ib_logfile *
的文件)数据
目录,以避免降级问题相关的重做日志文件格式的变化,可能已经发生的释放。rm ib_logfile *
将MySQL二进制文件或软件包降级,用旧的二进制文件或软件包替换新的二进制文件或软件包。
启动旧的(降级的)MySQL服务器,使用现有的数据目录。例如:
mysqld_safe——用户= mysql——datadir =/ / existing-datadir /路径
运行mysql_upgrade。例如:
Mysql_upgrade -u root -p
关闭并重新启动MySQL服务器,以确保对系统表所做的任何更改生效。例如:
mysql -u root -p shutdown mysqld_safe——user=mysql——datadir=/ / existing-datadir /路径
逻辑降级涉及使用, mysqldump将所有表从新MySQL版本中转储,然后将转储文件加载到旧MySQL版本中。
逻辑降级支持在同一版本系列中的不同版本之间进行降级,以及降级到以前的版本级别。只支持通用可用性(General Availability, GA)版本之间的降级。在继续之前,审查第2.12.1节,“在开始之前”。
对于MySQL APT、SLES和Yum存储库安装,只支持降级到以前的版本级别。当指令要求初始化旧的实例时,使用包管理工具来删除MySQL 5.6包并安装MySQL 5.5包。
执行逻辑降级。
查阅资料第2.12.1节,“在开始之前”。
所有数据库转储。例如:
Mysqldump -u root -p——add-drop-table——routines——events——all-databases——force > data-for-降级
关闭更新的MySQL服务器。例如:
Mysqladmin -u root -p shutdown
用一个新的数据目录初始化一个旧的MySQL实例。例如:
脚本/ mysql_install_db——用户= mysql
使用新的数据目录启动旧的MySQL服务器。例如:
mysqld_safe——用户= mysql——datadir =/ / new-datadir /路径
将转储文件加载到旧的MySQL服务器。例如:
Mysql -u root -p——force < data-for-upgrade.sql . cfg
运行mysql_upgrade。例如:
Mysql_upgrade -u root -p
关闭并重新启动MySQL服务器,以确保对系统表所做的任何更改生效。例如:
mysql -u root -p shutdown mysqld_safe——user=mysql——datadir=/ / new-datadir /路径