Table definition on master and slave does not match(坑爹的编码)
2014-04-02 16:04
316 查看
收到主从报警如下,错误内容
但是找到对应的表,发现表结构完全一致!重启了主从复制进程,问题仍旧。
仔细看了一下表结构,发现从机的表编码为latin1,而主机编码为utf8,而主机binlog_format=row.
将从机的表以及字段编码更改为utf8后,重启主从复制进程,问题解决!
其实还可以通过设置一下参数解决,但是可能会丢失数据
注意事项:
1. 导致这个问题的根本原因是从机的默认编码为Latin1,主从配置不统一
2. 在建表的时候,最好是带上编码;如果没有带上编码,则从机会使用默认编码,一旦主从配置不一样,将会在有字符串的字段上,而且binlog_format=row的时候,出现以上问题!
Table definition on master and slave does not match: Column 1 size mismatch - master has size 33, banggood_work.customer_points_table on slave has size 11. Master's column size should be <= the slave's column size.这是由于主从复制表结构不一致所致!
但是找到对应的表,发现表结构完全一致!重启了主从复制进程,问题仍旧。
仔细看了一下表结构,发现从机的表编码为latin1,而主机编码为utf8,而主机binlog_format=row.
将从机的表以及字段编码更改为utf8后,重启主从复制进程,问题解决!
其实还可以通过设置一下参数解决,但是可能会丢失数据
slave_type_conversions 这个参数在mysql5.5.3 引入,目的是启用row 格式的bin-log 的时候, 如果主从的column 的数据类型不一致,会导致复制失败,mysql5.5.3 之后支持,主库是int 从库是bigint 这种类型的复制, 这个参数的意义就是控制些类型转换容错性。 如果从库的类型比主库类型大,那么复制没有问题的。 如果从库类型比主库类型小,比如从int 复制到tinyint 这个参数就会起作用。 几种值的设置: ALL_LOSSY: 允许数据截断 ALL_NON_LOSSY: 不允许数据截断,如果从库类型大于主库类型,是可以复制的,翻过了,就不行了,从库***制错误,复制终止。 ALL_LOSSY,ALL_NON_LOSSY: 所有允许的转换都会执行,而不管是不是数据丢失。 空值 (不设置) : 要求主从库的数据类型必须严格一致,否则都报错。
注意事项:
1. 导致这个问题的根本原因是从机的默认编码为Latin1,主从配置不统一
2. 在建表的时候,最好是带上编码;如果没有带上编码,则从机会使用默认编码,一旦主从配置不一样,将会在有字符串的字段上,而且binlog_format=row的时候,出现以上问题!
相关文章推荐
- Table definition on master and slave does not match
- Instant Run performed a full build and install since the installation on the device does not match t
- mysql -server-5.6 install master and slave on ubuntu 14.04server
- github上传时出现error: src refspec master does not match any解决办法
- 【MongoDB】MongoDb的“not master and slaveok=false”错误及解决方法
- What is SolrCloud? (And how does it compare to master-slave?)
- git提交代码至GitLab或GitHub出现 src refspec master does not match any
- github上传时出现error: src refspec master does not match any解决方法
- MongoDB的“not master and slaveok=false”错误解决
- error:src refspec master does not match any
- C#编译问题'System.Collections.Generic.IEnumerable' does not contain a definition for 'Where' and no extension method 'Where' accepting a first argument
- error: src refspec master does not match any. error: failed to push some refs to xxx
- github上传时出现error: src refspec master does not match any解决办法
- git push时报"error: src refspec master does not match any."的解决方案
- MongoCursorException ***not master and slaveOk=false
- 【git】error: src refspec master does not match any.
- error: src refspec master does not match any. 错误处理办法
- 解决github报错:src refspec master does not match any Github
- github上传error: src refspec master does not match any
- error: src refspec master does not match any