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

数据库 waitig 465℃ 百度已收录 0评论

在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

重启数据库服务即可;


本文由【waitig】发表在等英博客
本文固定链接:记录关于搭建mysql主从复制中遇见的问题
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)