`
can_do
  • 浏览: 263522 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解决MySQL采用mysqldump导出再导入时因中文乱码导致的失败问题

阅读更多
一、首先,描述下问题现象:
1、在Linux服务器端,通过mysqldump命令导出数据库文件后,再通过mysqldump导入文件,
出现导入失败的问题;
二、其次,分析问题原因:
1、在Linux命令行下,通过more或者vim查看导出的mysql文件abc.sql,发现里面的中文显示是乱码;
2、初步认为,是mysqldump文件时出现乱码?
3、但是通过部分导入成功入库的库表数据来看,排除导出的文件是乱码问题;
4、将dump文件abc.sql,sz到windows本机,通过文本编辑器notepad++查看,里面中文显示是正常的,
5、由此,定位到问题原因:dump文件的编码是ok的,只是由于在Linux终端操作时,出现乱码;
三、最后,解决步骤:
1、通过Linux命令locale确认当前服务器的字符集,发现不是utf8的;
   需要修正为:
$ locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
如果以上不是zh_CN.UTF-8,则vim /etc/profile设置如下:
=>export LANG=zh_CN.UTF-8
=>source /etc/profile
2、检查终端工具Xshell显示是否中文正常
$ ll
总用量 2996956
drwxrwxr-x. 9 can_do can_do        263 6月  17 20:42 application
drwxrwxr-x. 2 can_do can_do        234 6月  18 19:32 db
drwxrwxr-x. 2 can_do can_do         38 6月  18 11:28 deploy
drwxrwxr-x. 3 can_do can_do         77 6月   2 14:55 installedware
drwxrwxr-x. 2 can_do can_do         57 6月  20 10:41 temp
此处:能看到中文显示正常,则ok,否则,下一步
3、设置终端工具支持的字符集为UTF-8
XShell-->File-->Properties-->Terminal-->Encoding==>Unicode(UTF-8)
4、查看从mysql导出文件是否中文乱码,通过more或者vim查看即可
此时:查看dump的sql文件,中文显示正常。
5、通过mysqldump import执行成功

【小结】
1、Linux下vim或者more乱码解决原则:要求如下一致
1> Linux字符集
2> 终端工具字符编码
3> 文件内容编码
三个一致,建议都按utf-8配置,中文处理是正常的。

2、建议在服务器端执行mysqldump命令,这样效率更高。

3、补充mysqldump命令如下:
1> 单库export
$ mysqldump -u root -p'yourpassword' -B yourDBName > /home/username/db/`date +%F`/yourDBName_`date +%F`.sql
2> 单库import
$ mysql -u root -p'yourpassword'  < //home/username/db/yourDBName_20200620.sql

【温馨提示】
如果您觉得满意,可以选择支持下,您的支持是我最大的动力:

分享到:
评论

相关推荐

    mysql命令行导入导出

    本文将深入探讨如何在MySQL命令行中正确地导入和导出数据,尤其是解决中文乱码问题。 首先,我们来看如何导出数据。MySQL提供了`mysqldump`命令来实现这一功能。例如,要导出名为`mydatabase`的数据库,你可以使用...

    mysql导出指定数据或部份数据的方法

    在实际操作中,你可能还会遇到其他问题,如中文乱码。在这种情况下,可以调整导出时的字符集设置,确保数据的正确性。例如,使用`--default-character-set=utf8`参数来指定字符集。 了解和熟练掌握这些技巧对于...

    Mysql运行SQL语句中文乱码问题的解决方法

    ### MySQL运行SQL语句中文乱码问题的解决方法 在MySQL数据库中运行包含中文字符的SQL语句时,经常会遇到中文显示为乱码的问题。这一现象不仅降低了开发效率,还可能导致数据错误。本文将详细介绍如何彻底解决MySQL...

    mysql导出服务器数据库,cmd显示乱码,cmd操作等

    通过上述内容,我们了解了如何使用`mysqldump`命令导出数据库、解决CMD中的中文乱码问题以及一些常用的CMD操作技巧。这些知识点对于日常数据库管理和维护非常有帮助。希望这些信息能够帮助你在处理类似问题时更加...

    mysql数据库的导入导出

    在进行数据库管理时,MySQL提供了丰富的命令行工具用于数据库的导入导出操作。对于这些操作,尤其需要掌握的是mysqldump命令和MySQL的Source命令的使用方法。 首先,mysqldump是MySQL用于备份数据库的命令行工具。...

    MYSQL数据库中文乱码问题.docx

    MYSQL数据库中文乱码问题是许多开发者和数据库管理员经常遇到的问题,尤其是在导入和导出数据时。下面总结了一些常见的解决方案和技巧,以供参考。 方法一:使用正确的命令 在WINDOWS系统下,使用MYSQL命令行工具...

    实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法

    在处理MySQL数据库导入导出的问题时,中文乱码问题是一个常见的难题。这个问题在使用phpMyAdmin时尤其棘手,因为它涉及到数据库编码、SQL文件编码以及导出导入过程中可能出现的字符集设置问题。在提供的文件中,详细...

    Mysql to Oracle导入导出说明

    总的来说,从MySQL到Oracle的数据迁移涉及多个步骤,包括数据导出、转换、导入以及各种兼容性问题的处理。合理选择工具和策略,能有效保证迁移过程的顺利进行。在实际操作中,应结合具体情况进行详细规划和测试,以...

    Mysql中文乱码以及导出为sql语句和Excel问题解决方法[图文]

    总之,解决MySQL中文乱码和数据导出问题的关键在于正确设置字符集,理解字符集转换的重要性,并熟练掌握`mysqldump`和`mysql`命令行工具的使用。通过这些方法,可以有效地管理数据库,保证数据迁移的准确性和完整性...

    Linux下MySQL解决乱码问题

    ### Linux下MySQL解决乱码问题 #### 背景与问题描述 在使用Linux系统时,部分用户可能会遇到MySQL数据库无法正确显示或录入中文字符的问题,即所谓的“乱码”现象。这种问题不仅影响数据的准确性和完整性,还可能...

    解决MySQL中文乱码以及版本不一致问题.pdf

    在本例中,用户发现从MySQL导出到Excel时,中文内容出现乱码,这是因为Office默认的编码可能是GB2312,与MySQL数据库中的UTF-8编码不匹配。为了解决这个问题,可以在SQL查询中使用`CONVERT()`函数转换字符集。例如:...

    MySQL导入导出数据库.pdf

    在导出和导入过程中,应确保源数据库和目标数据库的字符集设置一致,避免数据乱码问题。 3. 错误处理: 在导入过程中,可能会遇到错误,如语法错误、数据类型不匹配等,需要根据错误日志进行调试和修复。 总结,...

    mysql5.6.19非安装版中文乱码解决

    在处理MySQL 5.6.19非安装版(便携版)时遇到中文乱码问题,这通常是由字符集设置不当导致的。为了解决这个问题,我们需要从多个角度进行排查与修正,确保数据库能够正确地识别并显示中文字符。 ### 一、问题概述 ...

    mysql导入导出数据中文乱码解决方法小结

    解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上–default-character-set=utf8, 例如下面的代码: 代码如下:mysqldump -uroot -p –default-character-set=...

    用JAVA导出MYSQL的数据

    这里需要注意的是,由于数据可能包含中文字符,因此在处理输入流和输出流时需要指定正确的字符编码(通常是UTF-8)以防止乱码。 除了导出,Java还可以用于数据库的恢复(即导入)。这通常通过调用`mysql`命令来实现...

    mysqldump备份还原和mysqldump导入导出语句大全详解

    MySQL的mysqldump工具是数据库管理中不可或缺的一部分,它用于数据库的备份、恢复以及数据的导入导出。本文将详细解析mysqldump的使用方法及其相关参数,帮助你更好地理解和操作MySQL数据库。 首先,mysqldump的...

    解决MySQL的乱码.pdf

    解决 MySQL 的乱码问题 MySQL 是一个流行的关系型数据库管理系统,但是在使用过程中经常会遇到乱码问题。本文将详细介绍 MySQL 乱码问题的解决方法。 MySQL 乱码问题的原因 -------------------- MySQL 乱码问题...

Global site tag (gtag.js) - Google Analytics