完全修改mysql字符集
完全修改字符集
當數據庫中已有數據,想修改數據集,不能通過簡單的修改字符集完成,需要先將原數據導出,經過適當調整後重新導入才可完成。
通過七步完成字符集的完全修改(假設原字符集是latin1,想修改成GBK)。
1、導出表結構:
mysqldump -uroot -p –default-character-set=GBK -d databasename>createdb.sql
說明:
–default-character-set=GBK 表示設置以什麼字符集連接;
-d 表示隻導出表結構,不導出數據。
2、手工修改createdb.sql中表結構定義中的字符集(latin1)為新的字符集(GBK);
3、確保數據庫中的數據不再更新,導出所有的數據:
mysqldump -uroot -p –quick –no-create-info –extended-insert –default-character-set=latin1 databasename>data.sql
說明:
–quick 該選項用於轉儲大的表,它強製mysqldump從服務器一次一行地檢索表中的行而不是檢索所有行,並在輸出前將它緩存到內存中;
–extended-insert 使用包括幾個values的多行insert語法;
–no-create-info 不要create table語句;
–default-character-set=latin1 表示按照原有的字符集導出所有的數據。
4、打開data.sql,將set names latin1修改成set names GBK;
5、使用新的字符集創建數據庫:
create database databasename default charset GBK;
6、創建表:
mysql -uroot -p databasename < createdb.sql
7、導入數據:
mysql -uroot -p databasename < data.sql
最後更新:2017-01-04 22:34:55