MYSQL utf8mb4 設定
參數看起來很簡單,做起來容易手忙腳亂,亂七八糟的錯誤。
1,參數檔案:
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# init_connect='SET NAMES utf8mb4'
[mysql]
default-character-set = utf8mb4
如果做了主備叢集,那麼,建議先調整備庫,再調整主庫,調整後,都需要重新開機DB。
2, 資料庫、表、字段級别 ,也設定為UTF8MB4 編碼。
alter database ayst_data_stat character set utf8mb4 collate utf8mb4_unicode_ci ;
alter table user_info convert to character set utf8mb4 collate utf8mb4_unicode_ci ;
表調整時,可能會遇到報錯,原因是 存在字元串唯一索引限制,但是字段裡包含一些特殊字元, 在轉碼時違返了唯一限制,是以需要手工糾正資料。
3, MYCAT 調整:
mycat/conf/server.xml
域中增加一項:
<property name="charset">utf8mb4</property>
mycat/conf/index_to_charset.properties
在配置檔案最後加入
224=utf8mb4
,重新開機服務即正常
4, tomcat 應用伺服器需要重新開機。