首頁 >資料庫 >mysql教程 >MySQL5字符集问题的解决方案

MySQL5字符集问题的解决方案

WBOY
WBOY原創
2016-06-07 14:52:221425瀏覽

以下的文章主要是介绍一种更为快捷的方法来实现MySQL5字符集问题,以下就是MySQL5字符集问题与其实际解决办法的描述,希望在你今后的学习中会有所帮助。希望你浏览之后能有所收获。 今天打开slave日志发现一堆错误全部是这种: [ERROR] Slave: Error 'Charac

  以下的文章主要是介绍一种更为快捷的方法来实现MySQL5字符集问题,以下就是MySQL5字符集问题与其实际解决办法的描述,希望在你今后的学习中会有所帮助。希望你浏览之后能有所收获。

  今天打开slave日志发现一堆错误全部是这种:

  [ERROR] Slave: Error 'Character set '#28' is not a compiled character set and is not specified in the '/usr/local/MySQL(和PHP搭配之最佳组合)/share/MySQL(和PHP搭配之最佳组合)/charsets/Index.xml(标准化越来越近了)' file' on query.

  我在master(linux)机上写insert语句,发现同步是没问题的,后来我在window上用一个MySQL(和PHP搭配之最佳组合)客户端插入数据,上面的问题就开始出现了。通过MySQL(和PHP搭配之最佳组合)binlog查看slave日志发现

  如果使用gbk编码的客户端插入数据就会有下面的日志:

  SET @@session.character_set_client=28,@llation_connection=33,@llation_server=8/*!*/; 

  如果是直接在linux写insert,那么上面的28(gbk) 就变成8(latin-swde)

  原因应该是MySQL(和PHP搭配之最佳组合)客户端使用了gbk编码,而服务器无法识别。虽然你可以在'/usr/local/MySQL(和PHP搭配之最佳组合)/share/MySQL(和PHP搭配之最佳组合)/charsets/Index.xml(标准化越来越近了)' 找到gbk,但通过 SHOW CHARACTER SET;确实可以看出数据库没有列出gbk。

  我又比较了一下别的机器上的MySQL(和PHP搭配之最佳组合)版本,发现那些机器上的MySQL(和PHP搭配之最佳组合)都是用的发布版本,而这台slave机使用源代码安装的,于是我下了个MySQL5字符集(和PHP搭配之最佳组合)-5.0.37-linux-i686-glibc23.tar.gz

  然后

  cd /usr/local

  mv MySQL(和PHP搭配之最佳组合) MySQL(和PHP搭配之最佳组合)-old

  tar xzvf MySQL(和PHP搭配之最佳组合)-5.0.37-linux-i686-glibc23.tar.gz

  mv MySQL(和PHP搭配之最佳组合)-5.0.37-linux-i686-glibc23 MySQL(和PHP搭配之最佳组合)

  启动MySQL(和PHP搭配之最佳组合),一切就ok了

  MySQL5字符集

  以上的相关内容就是对MySQL5字符集问题以及解决办法的介绍,望你能有所收获。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn