记录关于搭建mysql主从复制中遇见的问题
在MySQL主从复制搭建完成后,在master上创建好新表,插入数据,发现从表并没有插入;
show slave status\G;
查看slave的报错信息:[ERROR]SlaveSQL:Column1oftable'DB.t_tb'cannotbeconvertedfromtype'varchar(180)'totype'varchar(60)',InternalMariaDBerrorcode:1677
查看master与slave的表信息,两边都一样,初步估计是master与slave 字符集设置不一致引起;
使用命令:showglobalvariableslike'%char%';
查看数据库的字符集设置,发现master是utf-8,而slave是latin1;
使用一下语句将slave的字符集换成utf-8
setglobalcharacter_set_server='utf8';
setglobalcharacter_set_database='utf8';
setglobalcharacter_set_connection='utf8';
setglobalcharacter_set_client='utf8';
setglobalcharacter_set_results='utf8';
使用showglobalvariableslike'%char%';命令查看是否修改成功
进入要使用的数据库,修改
showvariableslike'%char%';
例 setcharacter_set_server='utf8';
alterdatabaseDB_namedefaultcharactersetutf8;
最好在mysql的配置文件my.cnf中的[mysqld]下面添加character_set_server = utf8;[mysql]下面添加default-character-set = utf8
重启数据库服务即可;
更多相关文章
- [Python] - No.1 使用python3连接Mysql 数据库
- 装了sql server 2005附加数据库成功,程序却无法访问
- SQL Server2008清除数据库日志
- Oracle配置PL/SQL Developer连接数据库
- 数据库实践二:高级sql语句
- sql2000 数据库文件突然丢失
- 【整理】更改MSSQL默认字符集
- 备份SQL Server数据库
- python3爬虫爬取豆瓣电影并保存到sql serve数据库