当前位置: 首页 > 知识库问答 >
问题:

mysql 8.0 dump命令导入为什么无效?

韦睿
2024-01-16

mysql8.0 的导入命令mysqldump为什么无效?

命令为mysqldump -uroot -p123456 -h127.0.0.1 -P8082 --databases test < /erp/sql/test.sql 且使用mysql workbench 导入没有问题。运行环境为docker

首先,打开mysql workbench,新建 create schema,一切默认,名字选择test。然后create table 名字test。新建字段id,name(varchar),并插入两行数据(1,2)(2,3)。使用dump命令导出,没问题。
然后打开test.sql,把 第一行修改成 (1,'2111') 使用一开始展示的命令,导入。控制台显示

LOCK TABLES `test` WRITE;/*!40000 ALTER TABLE `test` DISABLE KEYS */;INSERT INTO `test` VALUES (1,'2'),(2,'3');/*!40000 ALTER TABLE `test` ENABLE KEYS */;UNLOCK TABLES;/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;-- Dump completed on 2024-01-16  3:29:26

第三行的value还是当前数据库原数据。文件也保存过了,方向符号没有问题,导出是>,导入是<。毕竟导出覆盖很正常。到底是哪里有问题?

共有2个答案

蒋典
2024-01-16

你要导入还是导出

  • 导出 : mysqldump
  • 导入 : mysql
皇甫俊雅
2024-01-16

你遇到的问题似乎是由于MySQL在导入数据时使用的是你导出时的SQL版本,而不是你当前的MySQL 8.0的版本。在你的情况下,你使用的是mysqldump命令行工具,该工具在导出时使用的SQL语法可能与你导入时的MySQL版本不完全兼容。

你的mysqldump命令看起来是正确的,但是在导入时,MySQL可能无法解析某些在更高版本的MySQL中引入的特定语法。

一种可能的解决方案是尝试使用更高版本的MySQL来执行导入操作,或者使用mysqlimport工具来导入数据。mysqlimport工具通常可以处理不同版本的MySQL之间的不兼容性。

此外,请确保你的MySQL服务器配置正确,并且具有足够的权限来执行导入操作。

如果问题仍然存在,你可能需要检查你的MySQL服务器日志以获取更多关于问题的详细信息。日志文件通常可以提供有关为什么导入操作失败的更多信息。

最后,请确保你的MySQL服务器正在运行,并且可以通过你提供的IP地址和端口访问。如果服务器没有运行或者无法访问,那么导入操作将无法完成。

 类似资料:
  • 前几天我开始开发一个bukkit插件,目的是在用户输入“/hello”时在文本窗口中返回hello。但是,这不起作用,因为我无法在eclipse中导入命令行。有什么建议吗?它说,“命令不能解析为类型”

  • OS- Neon Linux我有以下命令行输出: 请告诉我,为什么PyCharm不能导入模块?

  • 问题内容: 为什么在使用sudo时找不到命令“ bundle”: 但是在不使用sudo时确实存在: 我问的原因是我正在关注https://github.com/gitlabhq/gitlab- recipes/tree/master/install/centos ,它指出要使用sudo。 所述添加标志…引发’bundle:命令未找到’错误,但显示“此帐户当前不可用”。 问题答案: 使用和不检查的值

  • 为什么在使用sudo时找不到命令"bundle": 但不使用sudo时不存在: 我问的原因是我在https://github.com/gitlabhq/gitlab-recipes/tree/master/install/centos,它表示使用sudo。 我尝试添加一个标志,如使用$sudo bundle exec所述。。。引发“bundle:command not found”错误,但获取“此

  • 问题内容: 我想为我正在使用的开源代码库生成javadocs。但是Eclipse Generate JavaDoc向导要求我提供“ Javadoc命令”,并且该帮助未解释这意味着什么。是否需要javadoc binary / jar或其他路径? 问题答案: 是的,大概它想要JDK随附的命令行工具的路径(在bin目录中,与和相同)。 Eclipse应该能够自动找到它。您是否可能在JRE上运行它?那将

  • 本文向大家介绍mysql导入导出命令解析,包括了mysql导入导出命令解析的使用技巧和注意事项,需要的朋友参考一下 mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。下面就让我们一起学习吧! 一、mysqldump:数据库备份程序  有3种方式来调用mysqldump: 如果没有指定任