mysql主从隔一天同步一次_一次mysql主从同步报错及解决过程

一、背景

mysql版本为5.7.2,存储引擎使用InnoDB, 默认字符集使用utf8mb4。主从复制模式为多主一从,在多个主库写入数据并汇总到从库供web后台读取,并没有使用中间件和pt工具集对主从状态进行监控。

二、 报错场景复原

通过navicat远程连接在某一主库新建了一张表,建表语句如下:

DROP TABLE IF EXISTS tb_tmp_test;

CREATE TABLE tb_tmp_test

(

id int auto_increment primary key,

columnA int,

columnB int,

mark varchar(50)

);

查看主库和从库均建表成功。于是开始向主库表中插入数据。写入了近1万条数据后查看从库表数据,发现表为空。查看从库slave状态,发现报错:

Last_SQL_Errno : 1677

Last_SQL_Error : Column 3 of table 'db_test.tb_tmp_test' cannot be converted from type 'varchar(150(bytes))' to type 'varchar(200(bytes) utf8mb4)'

三、 错误原因排查

根据报错提示,是由于字符编码格式转化导致的报错,分别查看主库和从库的表结构:

主库:show create table tb_tmp_test;

CREATE TABLE `tb_tmp_test` (

`id` int(11) NOT NULL AUTO_INCREM

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值