mysql导入sql文件命令(mysql导入sql文件命令行)

问题背景:需要从主库导出各数据库sql 文件,采用mysqldump 导出;问题现象:通过mysql 导入时,出现报错ERROR at line 1: Unknown command ‘\0’.;常规解决思路:一般出现该报错说明SQL文件编码格式与需要导入的库不相符导致的字符转换异常,而且网上大部分也是通过添加默认字符编码解决。mysql -uroot -p --default-characte

问题背景:需要从主库导出各数据库sql 文件,采用mysqldump 导出;

问题现象:通过mysql 导入时,出现报错“ERROR at line 1: Unknown command ‘\0’.”;

常规解决思路:

一般出现该报错说明SQL文件编码格式与需要导入的库不相符导致的字符转换异常,而且网上大部分也是通过添加默认字符编码解决。

mysql -uroot -p --default-character-set=utf8 databases < /databases.sql

但我的问题在于,我在导入SQL文件时已经带了“–default-character-set=utf8”,报错仍然存在。

此时判断应该导出的文件有问题,果断打开SQL文件查看,用less 命令未发现异常,找了一个小文件用vi编辑器打开是,发现文件开头带入了 mysql 警告信息,在警告信息中的单引号,被错误识别,导致整个文件异常。(如下粗斜体部分)

“Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you don’t want to restore GTIDs, pass --set-gtid-purged=OFF. To make a complete dump, pass --all-databases --triggers --routines --events.”

总结下出现问题的原因

由于导出时,采用 nohup 后台执行,这样的话,这个警告信息会被写入导出的文件中,从而引发文件异常

导出文件后需要确认下是否有相关异常警告,可按警告信息修复或者不要用后台静默执行。

#mysqldump 语法

#导出

mysqldump -u[用户名] -h[ip] -p[密码] -P[端口号] 数据库名 表名 >导出的文件名.sql

mysqldump -uroot -proot --all-databases>all.sql

#导入

mysql -h[ip] -P[(大写)端口] -u[用户名] -p[密码] [数据库名] < d:XX.sql(路径)

#进入mysql

mysql>create database test;

mysql> use test;

mysql> source /home/database.sql

关键词:
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 931614094@qq.com 举报,一经查实,本站将立刻删除。
mysql导入sql文件命令(mysql导入sql文件命令行)文档下载: PDF DOC TXT