`
ycsk
  • 浏览: 153941 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

MySQL Master Slave因字符集不同导致的报错

阅读更多
今天做主从同步里,执行slave start报了以下错误。
引用

Fatal error: The slave I/O thread stops because master and slave have different values for the COLLATION_SERVER global variable. The values must be equal for the Statement-format replication to work

意思是因为主从之间的COLLATION_SERVER这个全局变量不同,slave停止工作了。

查看MySQL手册,这个变量的控制默认的服务器校对规则。
引用

Use collation_name as the default server collation


在MySQL中字符集与校对规则之间的关系如下:
引用

字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。让我们使用一个假想字符集的例子来区别清楚。

假设我们有一个字母表使用了四个字母:‘A’、‘B’、‘a’、 ‘b’。我们为每个字母赋予一个数值:‘A’=0,‘B’= 1,‘a’= 2,‘b’= 3。字母‘A’是一个符号,数字0是‘A’的编码,这四个字母和它们的编码组合在一起是一个字符集。

假设我们希望比较两个字符串的值:‘A’和‘B’。比较的最简单的方法是查找编码:‘A’ 为0,‘B’为1。因为0 小于1,我们可以说‘A’小于‘B’。我们做的仅仅是在我们的字符集上应用了一个 校对规则。校对规则是一套规则(在这种情况下仅仅是一套规则):“对编码进行比较。”我们称这种全部可能的规则中的最简单的 校对规则为一个binary(二元)校对规则。


这时候只需要修改Server默认的字符集就可以,MySQL会自动设置相对应的校对规则。
set global character_set_server='latin1';

collation_server     | latin1_swedish_ci 
分享到:
评论

相关推荐

    搭建MySQL的MasterSlave架构

    - 按照标准的安装向导进行安装,并配置好MySQL的基本设置,如安装路径、数据存储路径、字符集和端口号。这里推荐使用非默认的端口号以避免冲突。 - 创建MySQL服务,使用`mysqld-nt --install`命令,同时也可以使用...

    新版 MySQL DBA 高级视频 基于MySQL 5.7 MySQL 8.0版本.rar

    │ 第九课MySQL字符集.pdf │ 第二十一课MySQL常见错误-converted.pdf │ 第二十课MySQL索引和调优.pdf │ 第二课MySQL入门介绍.pdf │ 第五课MySQL常用函数介绍.pdf │ 第八课InnoDB内核.pdf │ 第六课SQL高级应用....

    mysql5.6安装主从配置

    MySQL支持多种字符集和排序规则。在配置文件中设置全局字符集和排序规则,例如: ```ini [mysqld] character-set-server=utf8 collation-server=utf8_general_ci ``` 这样设置后,所有新建的数据库默认都将使用`utf8...

    mysql5.6安装+主从复制安装

    - 拷贝配置文件:`cp support-files/***f /etc/***f` 并修改相关参数,如端口号和字符集。 - 添加用户组和用户:`groupadd mysql` 和 `useradd -g mysql mysql` - 更改文件权限和所有者:`chown -R root. /usr/...

    mysql5.6.14配置主从复制

    - `character-set-server=UTF8`:设置服务器字符集。 - `sql_mode`:设置SQL模式。 2. **从库配置**: - 类似地,你需要在从服务器的`my.ini`文件中启用二进制日志,并设置不同的`server-id`(例如`2`),保持...

    mysql负载均衡和双击热备

    - 使用Navicat工具登录MySQL,在两台服务器上分别创建名为`bros`的数据库实例,并设置字符集为utf8,校对规则为utf8_general_ci。 **3. 配置同步用户** - 在主1上为主2建立一个同步用户,例如`replicate`,并授予`...

    Mysql 5.6.26 主从搭建完整版.pdf

    在MySQL的配置文件***f中,需要添加一些关键配置,如设置默认存储引擎为InnoDB,字符集设置为utf8,以及其他与复制相关的配置。这些配置对数据库性能优化和数据同步有着直接的影响。 配置主从同步是本篇文章的核心...

    2020_05_22_mysql_复制问题处理全集.docx

    1. **主从表字符集不同**:主表和从表使用的字符集不一致。 2. **主从表字段长度不同**:主表和从表的某字段长度不一致。 经过检查发现,问题出现在字段长度不同上。解决方案如下: 1. **停止复制**: ```sql ...

    mysql运维基础知识面试问答题.pdf

    调整生产线中MySQL数据库的字符集: 可通过ALTER DATABASE或ALTER TABLE命令调整字符集,例如:ALTER DATABASE `database_name` CHARACTER SET utf8 COLLATE utf8_general_ci;。 批量修改数据表引擎: 可以通过查询...

    多主一从mysql详细安装搭建基于innodb

    配置文件my.cnf用于设定MySQL的启动参数,包括数据目录、字符集、用户权限等。安装完成后,确保MySQL能够随系统启动,并设置相应的权限和软链接以便于使用。 接下来是数据初始化和启动MySQL服务,这一步会创建root...

    mysql8.0.11多实例安装

    - **character_set_server=utf8**:服务器默认字符集。 - **log_slave_updates=1**:复制日志中记录更新操作。 - **gtid_mode=ON**:启用全局事务ID,用于复制场景。 - **innodb_flush_log_at_trx_commit=2**:控制...

    mysql数据库故障排除方案.docx

    MySQL 数据库故障排除的常见方法和解决方案,涵盖了慢查询日志分析、查询数据库总大小、主从复制、查询 MySQL 进程、查看 MySQL 锁或者死锁、Out of memory 错误、字符集创建数据库、权限控制、备份 MySQL 数据库、...

    mysql编译安装及主备环境搭建

    例如,`-DCMAKE_INSTALL_PREFIX=/usr/local/mysql`设置安装目录,`-DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock`设置套接字路径,`-DDEFAULT_CHARSET=utf8`设置字符集为UTF-8,`-DDEFAULT_COLLATION=utf8_general...

    MYSQL 5.6 从库复制的部署和监控的实现

    5. **配置 MySQL**:编写 `my.cnf` 配置文件,包含 `mysqld_safe` 和 `mysqld` 部分,设置日志、数据目录、用户、字符集、存储引擎、缓冲池大小等参数。特别地,为了实现复制,需要设置 `server_id`、`log-bin`、`...

    Sharding-JDBC教程:Mysql数据库主从搭建.docx

    安装完成后,创建两个名为`cool`和`cool2`的数据库,都采用utf8字符集和utf8_general_ci校对规则。 接下来,我们配置主数据库(master)。在 `/etc/mysql/mysql.conf.d/mysqld.cnf` 文件中,设置`server-id`为1以...

    mysql面试题30道

    MySQL 中可以使用主从复制(Master-Slave Replication)、负载均衡(Load Balancing)、分布式事务(Distributed Transaction)等方法来实现高可用和容灾设计。 MySQL 中如何进行数据迁移和同步? MySQL 中可以...

    mysql的my.cnf样本

    [mysql]部分通常用于设置MySQL命令行客户端的默认选项,这里配置了客户端使用的字符集。 [mysqld]部分是最重要的,它包含了MySQL服务器的配置选项。这里列出了部分关键配置及其意义: - port=3306:设置MySQL服务...

    mysql安装文档

    /usr/local/percona/bin/mysql -u root -p mysql -e "reset master;" ``` #### 二、MySQL 主从复制配置 - **授予从服务器权限**:为从服务器创建用户,并授予其复制权限。 ```sh GRANT REPLICATION SLAVE ON *....

    MySQL的M-S部署手册1

    3. **配置MySQL**:修改MySQL的配置文件`my.cnf`,设置`basedir`、`datadir`、`port`、字符集、存储引擎等参数。对于主库,开启二进制日志功能(`log-bin`)、设置`binlog_format`为`ROW`模式,以及启用`log-slave-...

Global site tag (gtag.js) - Google Analytics