mysql导出导入中文表解决方法

在开发过程中会经常用到mysql导出导入中文表,本文将详细介绍其如何使用,需要的朋友可以参考下。

在开发过程中会经常用到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

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。