今天打开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了
分享到:
相关推荐
本文将详细介绍如何解决“MySQL修改字符集默认问题”,包括修改步骤、注意事项以及可能遇到的问题及其解决方案。 ### 一、理解MySQL字符集 在深入探讨修改字符集的方法之前,我们首先需要了解MySQL中的字符集概念...
本文将深入探讨如何设置MySQL的字符集,以及解决因字符集配置不当导致的乱码问题。 ### MySQL字符集的基本概念 字符集(Character Set)定义了数据在存储和处理时所采用的编码标准,而校对集(Collation)则规定了...
本文将根据提供的文件信息,详细解释如何解决MySQL中的字符集通讯设置不匹配导致的乱码问题。 #### 一、理解MySQL中的字符集配置 首先,我们需要了解MySQL中涉及到字符集的一些关键变量及其作用: 1. **character...
本文将围绕“MySQL字符集转换”这一主题展开讨论,通过对给定文件中的标题、描述、标签以及部分内容进行分析,旨在深入讲解MySQL字符集转换的相关知识点。 #### 二、MySQL字符集概述 在开始详细介绍之前,我们先来...
《MySQL字符集与乱码问题分析》一文深入探讨了字符编码的历史背景、技术细节以及在MySQL中的应用,尤其关注解决常见的乱码问题。本文将根据提供的内容摘要,详细阐述其中涉及的关键知识点。 ### 字符集背景知识 ##...
mysql遇到字符集问题的常见解决方法,给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数 值就是字符的编码 (Encoding) 。例如,我们给字符 'A'赋予数值 0,给字符 'B'赋予数 值 1,则 0 ...
### MySQL运行SQL语句中文乱码问题的解决方法 在MySQL数据库中运行包含中文字符的SQL语句时,经常会遇到中文显示为乱码的问题。这一现象不仅降低了开发效率,还可能导致数据错误。本文将详细介绍如何彻底解决MySQL...
此时,可以使用`--default-character-set=system_character_set`启动MySQL客户端,使得客户端字符集与系统字符集相匹配,从而解决问题。 #### 六、总结 通过以上介绍可以看出,MySQL中的字符集和校对序配置对于...
在处理MySQL数据库时,遇到无法插入或显示中文字符的问题是常见的技术挑战,这通常与字符集设置不正确有关。从给定的文件信息来看,主要关注的是如何在MySQL中正确处理中文字符,包括插入和显示中文。下面将详细探讨...
本文将深入探讨MySQL中的字符集配置以及如何解决相关乱码问题。 1. **MySQL字符集架构** - **服务器字符集** (`character-set-server`/`default-character-set`): 这是MySQL服务器的默认字符集,用于决定未明确...
MySQL 中文乱码解决办法 在开发 Web 程序或学习 MySQL 的过程中,我们经常会遇到中文乱码或中文插入失败的情况。这是因为 MySQL 的默认字符集不是支持中文的字符集所致。为了解决这个问题,我们需要修改 MySQL 的...
总结来说,解决MySQL中文乱码问题的关键在于正确设置服务器、数据库、表、列以及客户端的字符集为UTF8。通过以上步骤,你可以在world示例数据库中存储和操作中文数据,而不会遇到乱码问题。记住,字符集的统一和兼容...
MySQL中的字符集问题是一个常见的数据库管理挑战,尤其是在处理多语言数据或者进行跨系统数据迁移时。在本案例中,问题的核心在于两个表之间的字段字符集不兼容,导致了"非法的混合排序规则"(Illegal mix of ...
MySQL查询字符集不匹配问题通常出现在数据库、数据表或字段的字符集与应用程序(如网页)使用的字符集不一致时,导致数据无法正确存储或检索,尤其是涉及非ASCII字符(如中文)时。本篇文章将深入探讨这个问题,并...
### MySQL5中文乱码的解决方法 ...通过修改全局配置文件、针对特定数据库或表进行字符集调整以及确保连接字符串中的字符集参数正确无误,可以有效地避免乱码问题的发生,确保中文数据的正常存储和读取。
本文将详细介绍两种解决MySQL与JDBC中文问题的方法。 首先,我们需要理解MySQL和Java之间的编码问题。MySQL数据库支持多种字符集,如GBK、UTF-8等,而Java程序通常使用UTF-8作为默认编码。当Java通过JDBC连接MySQL...
如果你遇到的问题是在MYSQL Query Browser或其他客户端工具中输入中文时出现乱码,或者导入包含中日文数据后显示乱码,那么可能需要调整这些字符集设置。 解决方法如下: 1. **修改MySQL配置文件**:在非安装版...
- 如果前两种方法都无法解决问题,可以考虑修改 MySQL 的配置文件 `my.ini` 来全局设置字符集。 1. 打开 MySQL 的安装目录,找到 `my.ini` 文件。 2. 在 `[client]`、`[mysqld]` 和 `[mysql]` 节中分别添加或修改...