每当我尝试导入数据库时,我都会看到一堵文字墙,我不知道如何处理它。我用google搜索了,我去的地方都说要做以下事情:
mysqlimport -u USERNAMEHERE -pPASSWORD DATABASENAMEHERE < path/to/dbdump.sql
或
mysql -u USERNAMEHERE -pPASSWORD DATABASENAMEHERE < path/to/dbdump.sql
然而,当我尝试使用它时,我得到的是:
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)
答案 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
如果发生了这种情况,那么您的数据备份已被破坏。如果您还有原始数据库,则必须从原始数据库获取新数据备份。
如果您破坏了备份并且您还没有原始数据库来创建新备份,那么我非常抱歉,但您的数据已经消失。