无法导入MySQL数据库

时间:2015-06-05 20:41:46

标签: mysql import dump

每当我尝试导入数据库时​​,我都会看到一堵文字墙,我不知道如何处理它。我用google搜索了,我去的地方都说要做以下事情:

mysqlimport -u USERNAMEHERE -pPASSWORD DATABASENAMEHERE < path/to/dbdump.sql

mysql -u USERNAMEHERE -pPASSWORD DATABASENAMEHERE < path/to/dbdump.sql

然而,当我尝试使用它时,我得到的是:

screenshot

Checklist:  
 File exists: yes  
 Username is correct: yes  
 DB name is correct: yes  
 Path to file is correct: yes
 Password is correct: yes  

我可以毫无问题地转储数据库,但我不能恢复它,它包含一些非常重要的信息....

编辑:

我也在使用ubuntu 12.04 LTS 64位与MYSQL ver 3.7 Distrib 5.5.41,用于debian-linux-gnu(x86_64)

4 个答案:

答案 0 :(得分:1)

尝试:

--password=YourPassword

你应该可以使用mysql。 mysqlimport用于导入的以teb分隔的文本文件,例如。

答案 1 :(得分:0)

Google for&#34; BigDump&#34;

它是一个轻量级的单页PHP脚本。您下载它,将数据库信息放在源中,然后将其上传到您的服务器。

它会处理你的导入,这些导入对于phpMyAdmin来说太大了,可以将它们分段上传。

答案 2 :(得分:0)

我不确定,但您可以尝试添加主机

mysql -hHost -uUser -pPass -DBase < dumpFile.sql

每次都适合我......

答案 3 :(得分:0)

mysqlimport -u USERNAMEHERE -pPASSWORD DATABASENAMEHERE < path/to/dbdump.sql

这是mysqlimport的错误用法。错误消息显示正确的用法:

  

用法:mysqlimport [OPTIONS]数据库文本文件......

您将文本文件命名为参数,而不是使用mysql客户端的标准输入重定向。

此外,mysqlimport无法读取.sql文件,它会以CSV格式读取一个或多个文本文件。文件名必须是要加载数据的相应表的名称。在尝试使用此工具之前,请先阅读mysqlimport documentation

mysql -u USERNAMEHERE -pPASSWORD DATABASENAMEHERE < path/to/dbdump.sql

这是读取.sql文件的正确用法,但是您描述的错误表明该文件不包含SQL脚本:

  

第1行的错误1064(42000):您的SQL语法出错;检查与您的MySQL服务器版本相对应的手册,以获得正确的语法,使用附近的&#39; mysqlimport Ver 3.7 Distrib 5.5.41,对于debian-linux-gnu(x86_64)版权所有(c)&#39;在第1行

该文件似乎包含运行mysqlimport命令的输出。我怀疑你对<>感到困惑,并且这样做了:

mysqlimport -u USERNAMEHERE -pPASSWORD DATABASENAMEHERE > path/to/dbdump.sql

如果您这样做,那么很遗憾您的转储文件已被该命令覆盖,并且内容已替换为mysqlimport命令的输出错误。您应该检查该文件的大小和内容,然后查看。

ls -l /home/minecraft/MySQLBackup/infinity_prism_Jun_05_2015_20_01.sql
less /home/minecraft/MySQLBackup/infinity_prism_Jun_05_2015_20_01.sql

您应该搜索shell历史记录以查看您运行的命令:

history | grep infinity_prism

如果发生了这种情况,那么您的数据备份已被破坏。如果您还有原始数据库,则必须从原始数据库获取新数据备份。

如果您破坏了备份并且您还没有原始数据库来创建新备份,那么我非常抱歉,但您的数据已经消失。