mysql导入导出数据乱码问题解决方法

最近在linux上面用mysqldump导出数据,放在windows系统中导入就会出现中文乱码,然后就会导致出现: Unknown MySQL server hostCan't connect to the server的错误。

解决mysql导入导出数据乱码问题就是统一导入导出的编码,linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题。

解决mysql导入导出数据乱码问题

首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8,例如下面的代码:

使用mysqldump、into outfile和load data进行数据库导入导出备份

遇到了大批量导入导出数据的时候真的比较麻烦,动则几G的数据,操作起来也是比较慢的,而且如果稍有不慎,还要重写处理,最简单的方法也是效率最低的方法就是使用PHP写导入导出数据程序,用Shell来跑PHP,可是大家一直忽略了mysqldump和mysql的into outfileload data,如果这几个命令使用灵活了,对于数据库导入导出以及备份是很方便的。下面简单讲解一下,高手飘过,因为对于数据库操作我也是小白。

使用mysqldump 和 source导入导出备份数据

如果要导出整个数据库 或者某一个数据库的一个表,并且保持数据库中表的名字不变,再次导入到另外一个数据库的时候,可以使用mysqldump和source的方法。mysqldump的具体使用参数可以使用mysqldump --help来查看,这里我简单说下我常用的几种参数。

1、mysqldump导出整个表的数据,包括建表信息,这也是最基础的用法

mysqldump -uusername -ppassword databasename tablename > /home/db/db_bak2012

其中-u -p 和mysql的参数是一样的,分别代表了用户名和密码,后面跟着是数据库名和表明,>之后的是要导出的路径。

上面的导出数据要导入数据库的时候可以进入mysql,然后使用下面的命令来实现

source /home/db/db_bak2012