- Error ‘Character set ‘#255’ is not a compiled character set and is not specified in the ‘/usr/share/mysql/charsets/Index.xml’ file’ on query
这个问题是由于从库的数据库字符集中没有255编码对应的字符集,255在主库中对应的是utf8mb4,从库中也是有的,但是还是无法导入备份数据。
两个数据库的字符集都设置一样了,还是提示无法同步。
解决方案:
需要重新创建两个docker镜像就可以,重新导入之前的备份sql文件。可实现同步
-
导出多个mysql数据库的命令:
mysqldump -u root -p --add-drop-database --databases dbName1 dbName2… > sqlFilePath
-
导入命令:
mysql -u root -p < /all_database.sql
-
从库中无法连接到主库
根据在主库中创建的用户名和密码, 从库无法连接:
- 查看是否创建用户的时候,指定的用户可访问ip不对,如果是测试可以设置为’%’
- 在从库中通过
mysql -uroot -p -hxx.xx.xx
来访问是否可以访问到,-h
后面指定的是主库的ip,如果是两个docker镜像在同一个服务器上,可能localhost
连接不上,可以在主库的cat /etc/hosts
查看主库的hosts,然后设置为新的ip