您的位置:首页 > 数据库 > MySQL

记录关于搭建mysql主从复制中遇见的问题

2017-10-19 15:04 519 查看
在MySQL主从复制搭建完成后,在master上创建好新表,插入数据,发现从表并没有插入;

show slave status\G;

查看slave的报错信息:[ERROR] Slave SQL: Column 1 of table 'DB.t_tb' cannot be converted from type 'varchar(180)' to type 'varchar(60)', Internal MariaDB error code: 1677

查看master与slave的表信息,两边都一样,初步估计是master与slave 字符集设置不一致引起;

使用命令:show global variables like '%char%';

查看数据库的字符集设置,发现master是utf-8,而slave是latin1;

使用一下语句将slave的字符集换成utf-8

set global character_set_server='utf8';

set global character_set_database='utf8';

set global character_set_connection='utf8'; 

set global character_set_client='utf8';

set global character_set_results='utf8'; 

使用show global variables like '%char%';命令查看是否修改成功

进入要使用的数据库,修改

show variables like '%char%';


set character_set_server='utf8';

alter database DB_name default character set utf8; 

最好在mysql的配置文件my.cnf中的[mysqld]下面添加character_set_server
= utf8;[mysql]下面添加default-character-set = utf8

重启数据库服务即可;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: