mysql导出导入中文表解决方法
更新时间:2012年11月23日 10:18:50 作者:
在开发过程中会经常用到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
一、先针对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
您可能感兴趣的文章:
相关文章
CentOS7.2虚拟机上安装MySQL 5.6.32的教程
这篇文章主要介绍了CentOS7.2虚拟机上安装MySQL 5.6.32的教程的相关资料,需要的朋友可以参考下2016-08-08解析sql语句中left_join、inner_join中的on与where的区别
以下是对在sql语句中left_join、inner_join中的on与where的区别进行了详细的分析介绍,需要的朋友可以参考下2013-07-07
最新评论