今天打开slave日志发现一堆错误全部是这种: [ERROR] Slave: Error Character set #28 is not a compiled character set and is not specified in the /usr/local/mysql/share/mysql/charsets/Index.xml file on query. 我在master(linux)机上写insert语句,发现同步是没问题的,后来我在window上用一个mysql客户端插入数据,上面的问题就开始出现了。通过mysqlbinlog查看slave日志发现 如果使用gbk编码的客户端插入数据就会有下面的日志: SET @@session.character_set_client=28,@@session.collation_connection=33,@@session.collation_server=8/*!*/; 如果是直接在linux写insert,那么上面的28(gbk) 就变成8(latin-swde) 原因应该是mysql客户端使用了gbk编码,而服务器无法识别。虽然你可以在/usr/local/mysql/share/mysql/charsets/Index.xml 找到gbk,但通过 SHOW CHARACTER SET;确实可以看出数据库没有列出gbk。 我又比较了一下别的机器上的mysql版本,发现那些机器上的mysql都是用的发布版本,而这台slave机使用源代码安装的,于是我下了个mysql-5.0.37-linux-i686-glibc23.tar.gz 然后 cd /usr/local mv mysql mysql-old tar xzvf mysql-5.0.37-linux-i686-glibc23.tar.gz mv mysql-5.0.37-linux-i686-glibc23 mysql 启动mysql,一切就ok了
mysql5中遇到的字符集问题以及解决办法_数据库技巧
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » mysql5中遇到的字符集问题以及解决办法_数据库技巧
相关推荐
-      sql语句中的判断功能的使用方法
-      sql语句中的判断功能的使用方法
-      SQL语言中去掉小数点有效数字后面的所有0
-      在sql语句中实现md5功能
-      ASP连接各种数据库的代码
-      给access数据库减肥
-      asp连接access数据库代码(2)
-      更改 SQL Server 登录模式