阿里云RDS從GBK轉(zhuǎn)換成UTF8,要怎么操作?
1、使用mysqldump導出表結(jié)構(gòu),如:
mysqldump -d -u root -p 數(shù)據(jù)庫名 >/root/struct.sql
2、使用mysqldump以特定編碼導出數(shù)據(jù)(其中utf8為所需編碼,可按需修改),如:
mysqldump --default-character-set=utf8 -t -u root -p 數(shù)據(jù)庫名 >/root/data.sql
3、打開表結(jié)構(gòu)轉(zhuǎn)存(/root/struct.sql),將所有CREATE TABLE中的編碼替換為所需編碼
4、導入數(shù)據(jù)到新表
建議通過SQL來更改,如果庫表比較多的話,可以通過以下方式批量生成更改字符集的SQL:
1.生成轉(zhuǎn)換表的sql
select concat('alter table ', table_schema,'.',table_name,' convert to character set utf8mb4;') from information_schema.tables where table_schema in ('需要轉(zhuǎn)換的數(shù)據(jù)庫名')
2.生成轉(zhuǎn)換數(shù)據(jù)庫的sql
select concat('alter database ',SCHEMA_NAME,' CHARACTER SET = utf8mb4;') from information_schema.SCHEMATA where schema_name in ('需要轉(zhuǎn)換的數(shù)據(jù)庫名')