阿里云RDS需要將數(shù)據(jù)庫從GBK轉(zhuǎn)換成UTF8,請(qǐng)問怎么操作?
我來答

阿里云RDS需要將數(shù)據(jù)庫從GBK轉(zhuǎn)換成UTF8,請(qǐng)問怎么操作?

陳宥維 2021-02-02 提問
364

阿里云RDS從GBK轉(zhuǎn)換成UTF8,要怎么操作?

關(guān)閉
提交回答
2 個(gè)回答
我來答
陳依依

1、使用mysqldump導(dǎo)出表結(jié)構(gòu),如:

      mysqldump -d -u root -p 數(shù)據(jù)庫名 >/root/struct.sql

2、使用mysqldump以特定編碼導(dǎo)出數(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、導(dǎo)入數(shù)據(jù)到新表

回答于 2021-02-02
贊同
評(píng)論
陳廉

建議通過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ù)庫名')

回答于 2021-02-02
贊同
評(píng)論
掃碼關(guān)注
獲取更多出海問答的相關(guān)信息
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家