MySQL 更改字符集

1.查看目前數據庫的字符集,模擬把utf-8改爲GBK

show variables like  '%database'

2.導出表結構:

mysqldump -uroot -p  --databases movie --default-character-set=gbk -d > c:/Users/donald/Documents/dumps/dump.sqlmysql

其中--default-character-set=gbk 表示用什麼字符集鏈接  -d 標識只導出表結構,不導出數據sql

針對表數據庫

mysqldump -uroot -p  --databases movie --tables schedule --default-character-set=gbk -d > c:/Users/donald/Documents/dumps/dump.sql

3.修改dump.sql 表結構中的字符集爲新字符集gbk

4.確保記錄再也不更新,導出全部記錄

mysqldump -uroot -p  --databases movie --quick --no-create-info --extended-insert --default-character-set=utf8 >c:/Users/donald/Documents/dumps/data.sql
緩存

--quick :該選項用戶轉儲大的表,它強制mysqldump 從服務器一次一行地檢索表中的行而不是檢索全部的行,並再輸出前將它緩存導內存中;服務器

--extended-insert :使用包括幾個values 列表的多行insert 語法,這樣轉儲的文件更小,重載文件能夠加速插入ui

--no-create-info :不導出每一個轉儲表的create table 語句spa

--default-character-set=utf8 :按照原有的字符集導出全部數據,這樣導出的文件中,全部中文是可見的,不會保存亂碼.code

5.打開data.sql 將SET NAMES utf8 改爲 SET NAMES gbk

6.刪除數據庫後,建立新字符集的數據庫

create database movie default charset gbk;內存

7.建立表

mysql -uroot -p --database movie < c:/Users/donald/Documents/dumps/dump.sqlutf-8

8.導入數據

mysql -uroot -p --database movie< c:/Users/donald/Documents/dumps/data.sql

 

注意:選擇目標字符集的時候,最好是原字符集的超集,或者肯定比源字符集字庫更大;

如gbk 比gb 2312 大,gbk字符集數據導入 gb 2312 會丟失 gb 2312 不支持那部分的漢字 

相關文章
相關標籤/搜索