| 背景
有客户咨询说,自己的从库show slave status出现了报错,报错信息显示如下:
column 4 of table 'hh_db_mk.hh_vhl_application'cannot be converted from type 'datetime' to type 'varchar(20)'
截图显示如下:
得到的信息如下:
-
从库停了两天,重启之后新建了这个表,然后就报了这个错。
| 思路
看到这个报错,首先想到的是两边表结构是否不一致。查看后发现,表结构一模一样。
疑问客户是否有对表结构做了更改,导致了这个报错。但询问客户后,客户表示没有做任何表结构的更改。但同时向客户提出,解析下binlog看一下报错位置的sql语句。当然这个过程花了些时间。
出现列转换错误,一般都是由于主从之间字符集不一致导致的。于是询问客户,主从库之间的sql_mode和字符集是否不一致,结果显示均一致。表结构也一致。