在開發過程中會經常用到mysql導出導入中文表,本文將詳細介紹其如何使用,需要的朋友可以參考下
一、先針對utf8導出:
(1)導出源數據庫的所有表:
復制代碼 代碼如下:
mysqldump -u root -p密碼 --socket=mysql.sock --default-character-set=utf8 --set-charset=utf8 --hex-blob --databases 數據庫名 > utf8.sql
(2)修改sql文件,刪除文件頭中包含的創建數據庫的命令
(3)登錄目標數據庫
mysql -uroot -p密碼 --default-character-set=utf8 --socket=mysql.sock -A
注意:必須要指定字符集登錄,而且,指定的字符集要和導出時指定的字符集相一致
(4)刪除數據庫(如果有的話)
drop database 數據庫名;
(5)創建數據庫並保存為utf8存儲格式,並導入
復制代碼 代碼如下:
create database 數據庫名 charset=utf8;
use 數據庫名;
source utf8.sql;
這塊導入後,中文表可能有亂碼。所以,要用下面的方法,導入中文表。
二、導出導入中文表:
復制代碼 代碼如下:
#導出
mysqldump -u root -p密碼 --socket=mysql.sock --default-character-set=gbk --set-charset=gbk --hex-blob 數據庫名 表名1 表名2 …… > gbk.sql
#導入(導入表時,如果表已經存在,會先刪除再導入,所以,不用事先刪除已經存在的表)
mysql -uroot -p密碼 --default-character-set=gbk --socket=mysql.sock -A <<EOF
use 數據庫名;
source gbk.sql
EOF