Mysql-Replication
複製時的字元集錯誤
我正在嘗試在兩個 MariaDB 數據庫之間設置複製,但在 phpMyAdmin 中出現以下錯誤:
Error 'Character set '#610' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file'
我檢查了一下
mysqld --verbose --help
,兩者都將 UTF-8 作為預設字元集。
評論太長了。還要檢查所有其他字元集定義。
預設字元集變數
SHOW VARIABLES LIKE 'character_set%';
顯示預設數據編碼
數據庫:
SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA;
表:
SELECT TABLE_SCHEMA, TABLE_NAME, ENGINE, TABLE_COLLATION FROM TABLES LIMIT 1000;
列:
SELECT COLUMN_NAME, TABLE_NAME, CHARACTER_SET_NAME, COLLATION_NAME FROM information_schema.COLUMNS WHERE CHARACTER_SET_NAME IS NOT NULL LIMIT 1000;
我添加了一個限制語句,只顯示前 1000 行。適應例如:
WHERE CHARACTER_SET_NAME = '#610'
顯示所有可用的字元集:
SHOW CHARACTER SET;
希望這有助於找到問題。