MySQL 5.5复制升级到5.7的一点简单尝试

  • 时间:
  • 浏览:0

Last_SQL_Error: Column 1 of table 'mysql.user' cannot be converted from type 'char(48(bytes))' to type 'char(96(bytes) utf8)'

171019 9:49:12 [ERROR] /usr/local/mysql_5.5/bin/mysqld: unknown variable 'binlog_checksum=NONE'

关键就在于好友克隆关系的配置了。

mysql> set global slave_type_conversions='ALL_LOSSY,ALL_NON_LOSSY';

最近有个需求是升级MySQL 5.5到MySQL 5.7版本,为此当我门想了一些方案,比如MySQL级联好友克隆升级,越来越 考虑主一些一些基于版本的差异性,尽以后 保持兼容。

一些一些我按照5.5,5.6,5.7的版本搭建了3套MySQL环境,以后 以这3套环境为基础来实现级联好友克隆。看看有益于实现平滑的数据库升级。

数据库版本为5.5.19, 5.6.14, 5.7.19

比如下面的参数在5.5版本中就不处于,以后 在5.6,5.7中处于,就有益于 根据需求来选用。

171019 9:47:53 [ERROR] Aborting

类事大问提有益于 考虑修改参数来设置无损好友克隆的程度,比如原来设置。

我先来验证5.6到5.7的配置关系,没想到启动slave后看完了如下的错误。

以后 是配置5.5到5.6的环境,发现5.6配置了GTID,和偏移量的使用辦法 是有冲突的。

以后 说干就干,着实初始化环境这主次主要一些一些参数的兼容性,

经过简单的测试,5.5->5.6->5.7的辦法 通过偏移量的配置是可行的,不要再设置好友克隆的过滤配置,我做了DDL,DML的操作,重新配置了用户,哪些操作都是有益于 的。

还有逻辑备份恢复,物理备份恢复的方案,当然无论如何体现业务价值有益于使得技术价值更有意义。一些一些当我门希望通过升级版原来尽以后 使得线上版本统一的同时,带给业务和DBA的几大福利一些一些online DDL,数据延迟降低,优化器的增强。

MySQL 5.5升级到MySQL 5.6使用偏移量的辦法 来同步

171019 9:48:48 [ERROR] /usr/local/mysql_5.5/bin/mysqld: unknown variable 'relay_log_info_repository=TABLE'

当然按照你这种思路,当我门有益于 完整性抛妻弃子mysql库,直接好友克隆数据所在的库即可。

MySQL 5.6升级到MySQL 5.7使用GTID的辦法 来同步

为了保持尽以后 保持兼容性和更好的功能,我计划使用如下的辦法 。

171019 9:47:53 [ERROR] /usr/local/mysql_5.5/bin/mysqld: unknown variable 'master_info_repository=TABLE'

当然有益于 升级也是拍脑袋想,原理上是有益于 的,以后 实际上效果如何,越来越 验证心里还越来越 底。以后 所做的比较多的是迁移式升级,通过逻辑备份恢复的辦法 ,在数据量比较大的清况 下,那种辦法 都是些吃力了。

以后 我更进一步,尝试配置5.5到5.7的好友克隆关系,没想到也是有益于 的。

一些一些折衷下来的选用一些一些先取消GTID的设置,统一使用偏移量,重新配置一下主从库,重置一下。重新建立主从关系即可。

一些一些中间的简单尝试我就对好友克隆有了你这种新的认识,共要在你这种点上数据着实有益于完整性同步过来,至于更为冗杂的场景后续有益于 做更多的补充测试。

Last_SQL_Error: Can't create conversion table for table 'mysql.user'

接着就收到了另外有一个多错误。