在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

在此博客中,我们将讨论在MySQL降级期间需要注意的事项。

之前,我曾写过博客MySQL升级最佳实践。除了升级MySQL版本外,有时还需要降级。在降级MySQL时,支持两种降级方法:

就地降级:在这种方法中,您使用现有的数据目录并替换MySQL二进制文件,然后执行。同一发行系列中支持这种类型的降级。例如,从5.7.12升级到5.7.10时支持就地降级。

SQL转储降级: A  SQL转储是另一种降级方法,也称为” 逻辑降级“。此方法涉及所有数据库的备份。使用mysqldump程序创建表。您还可以使用mydumper进行并行备份以缩短备份时间,然后替换MySQL二进制文件并将转储还原到降级的MySQL版本中。然后使用mysql_upgrade程序完成降级过程。在同一发行系列中以及不同发行级别之间都支持这种降级。例如,从5.6降级到5.5或从5.7降级到5.6或5.5

降级之前,您需要了解一些可能会影响该过程的因素。我将在这里列出一些重要的事情。对于影响降级过程的所有更改,您应该检查手册。另外,建议查看要降级的特定版本的发行说明,以免出现任何意外情况。

在MySQL 5.6中,relay-log.info文件包含行数和复制延迟值。这些值包含的文件格式与以前的MySQL版本不同。如果您在复制设置中降级到5.6以下,则旧服务器将不会读取该文件格式。要在有问题的从站上更正此问题,您需要在编辑器中修改relay-log.info,以删除包含行数的初始行。

通过“In-Place”方法从5.6降级到较早版本。由于时间类型的磁盘格式不同,MySQL 5.5可能会引起一些问题。基本上,如果在5.6上创建或更改了包含TIME,DATETIME或TIMESTAMP列的表,则不能在5.5上使用这些表。将版本从5.6降级到5.5的推荐方法是使用mysqldump的”逻辑降级”方法。

您可以使用下面的查询来确定可能受此问题影响的表和列。其中一些是数据库中的系统表,这意味着MySQL是您需要转储/还原的数据库之一。

在复制环境中,建议您首先升级/降级从属。我试图通过逻辑降级将复制层次结构中的从属服务器之一从Percona Server 5.6降级到Percona Server 5.5,如下所示:

此时,Percona Server 5.6降级为Percona Server 5.5。现在,让我们尝试将5.6实例中的备份还原到5.5实例中。

分析了结果之后,我发现在备份过程中,在少数MySQL系统表中附加了STATS_PERSISTENT。还原期间失败,因为在MySQL 5.5中innodb_stats_persistent不可用。我发现此报告的错误验证了此问题。

要解决此问题,您需要将MySQL用户授权与应用程序数据库分开备份:来自Percona Toolkit的pt-show-grants可以解决!

从Percona Server 5.6从站:

并在Percona Server 5.5从属服务器上还原:

请记住,不支持从新的主要版本到旧的主要MySQL版本(例如5.6主版本和5.5副本)的复制,通常不建议这样做。复制失败,因为从MySQL 5.6.6开始,新选项默认为。由于该选项在MySQL 5.5中不存在,因此副本无法处理来自主服务器的校验和。反之,CRC(循环冗余校验和)失败,因为二进制日志采用5.6之前的格式且没有校验和信息。您需要在MySQL主服务器上设置为NONE。

这将在5.6主服务器的5.5从服务器上恢复复制。我建议在[mysqld]部分下的my.cnf中进行设置,以使此更改在主服务器5.6的重新引导期间持续存在。

总而言之,通过”逻辑转储”方法降级需要您排除转储/还原MySQL系统数据库,并在 的帮助下仅转储用户授权。恢复数据库用户和特权。另外,从5.6版降级到较旧的版本(例如5.5或5.1)时,您需要使binlog_checksum兼容(即NULL)。与此同时,您需要确保启用binlog_rows_query_log_events并将binlog_row_image设置为FULL。另外,从5.6版复制到5.5版时,不支持基于GTID的复制,您需要在5.6中设置gtid_mode = OFF。所有这些变量都应在5.6母版上正确设置。有关更多详细信息,请查阅手册。

MySQL降级是对升级的逆转,可能会很痛苦。如果在没有适当测试的情况下进行升级,则可能有必要。降级的原因之一是,如果您发现应用程序出现故障,MySQL崩溃或升级后的性能未达到预期水平。

mysql数据库自动降级_mysql降级caveats相关推荐

  1. mysql数据库自动重新连接_mysql数据库自动重新连接

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  2. mysql 数据库 自动备份_MYSQL数据库自动备份

    第一步:配置mysql的环境变量 在PATH中添加mysql的路径到bin目录(如:E:\mysql\MySQL Server 5.1\bin) 第二步:创建批处理文件(.bat)内容如下: @ech ...

  3. mysql数据库自动转储_mysql数据库数据定时封装转储

    1.封装转储存储过程 CREATE  PROCEDURE `add_resident_portrait`() BEGIN TRUNCATE TABLE resident_portrait; INSER ...

  4. gorm存指针数据_gormt: gormt 是一个数据库映射工具,可以将 mysql 数据库自动生成 golang sturct 结构...

    mysql数据库转 struct 工具,可以将mysql数据库自动生成golang sturct结构,带大驼峰命名规则.带json标签 交互界面模式 ./gormt -g=true 命令行模式 ./g ...

  5. mysql php 新手卡生成_PHPMaker(基于MYSQL数据库自动生成PHP 脚本的软件)

    PHPMaker 注册版是一款PHP代码自动生成工具,一款在Windows平台上运行的基于MYSQL数据库自动生成PHP脚本的软件.使用生成的PHP代码,你可以通过WEB网页 对数据库的记录进行浏览. ...

  6. mysql自动定时备份数据,mysql数据库自动定时备份脚本

    1.shell脚本如下: Now=$(date +"%d-%m-%Y") File=/tmp/mysqldump238CEM/MysqlDumpFile238CEM-$Now.sq ...

  7. php 数据库 自增值,Mysql应用MySql数据库自动递增值问题

    <Mysql应用MySql数据库自动递增值问题>要点: 本文介绍了Mysql应用MySql数据库自动递增值问题,希望对您有用.如果有疑问,可以联系我们. MYSQL必读 Create TA ...

  8. mysql数据库高可用_MySQL数据库高可用

    一.MySQL+MyCat分库分表 1 MyCat简介 java编写的数据库中间件 Mycat运行环境需要JDK. Mycat是中间件.运行在代码应用和MySQL数据库之间的应用. 前身 : corb ...

  9. mysql nb3 备份_通过Navicat进行Mysql数据库自动备份与还原

    Mysql数据库自动备份流程 Navicat版本为:Navicat 12.0.26 例:test为用于测试自动备份的数据库,里面有表t_person,表中有两条数据. 1.点击"自动运行&q ...

  10. 【SpringBoot】70、SpringBoot实现MySQL数据库自动备份管理系统

    最近写了一个 MySQL 数据库自动.手动备份管理系统开源项目,想跟大家分享一下,项目地址: https://gitee.com/asurplus/db-backup 1.界面献上 登录界面 首页 实 ...

最新文章

  1. Mysql约束 笔记
  2. 怎样退出python的交互环境_python交互界面的退出方法
  3. [理解ASP.NET Core框架]一个五十行的控制台Web
  4. maven项目建立pom xml报无法解析org apache maven plugins maven resource
  5. Chapter 1 First Sight——13
  6. 【PowerBI】钉钉邮箱已经不能注册 Power BI 账号
  7. ams1117 lm317 对比_LM317和AMS-1117-3.3
  8. 加速求解两个矩阵任意两行之间的pearson相关性
  9. HDU 6078 Wavel Sequence(dp)
  10. ROS域名解析问题记录(蓝桥云课ros.asc)
  11. 云计算之存储虚拟化 -02
  12. C# 文件直接打印功能
  13. 磁盘linux安装不可以用,CentOS 5 不支持SATA硬盘安装的解决方法
  14. 英国访问学者T5签证所需相关材料
  15. 如何实现游戏中的段位排行榜?
  16. ORB-SLAM2系列第一章——简介
  17. 分布式系列之分布式计算框架Flink深度解析
  18. 脚本造成web浏览器运行速度减慢_此页面上的脚本造成web浏览器运行速度减慢.怎么办?...
  19. 年度最佳15款网络监控工具,运维人员不要错过
  20. FTDI串口驱动装了后不显示COM号问题

热门文章

  1. Cannot connect to database (possibly bad driver/URL combination)
  2. 前Worldpay美国高管加入BitPay成为其新首席财务官
  3. OSChina 周三乱弹 —— 姑娘不是我的心上人,请自重
  4. TEST-Mr land cruiser AND open a book for THE GARDEN CITY Mr land cruiserTEST
  5. mac下使用PyCharm遇到的坑坑洼洼
  6. 微信小程序获取定位后使用腾讯地图解析到市位置
  7. linux对已有分区进行扩容
  8. 互联网之父温顿·瑟夫今日访华
  9. 手电筒java下载_Android studio编写简单的手电筒APP
  10. CF专题(长安大学)