MySQL5字符集问题的解决方案

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

创新互联建站企业建站,10多年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于成都网站建设、网站建设中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。

今天打开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编码的客户端插入数据就会有下面的日志:

 
 
 
 
  1. SET @@session.character_set_client=28,@@session.collation_connection=33,@@session.collation_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字符集问题的解决方案
网站链接:http://www.hantingmc.com/qtweb/news36/283586.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联