2011-01-23 71 views
0

我有这个非常奇怪的Web主机,这是周末,系统不可用,我们需要对网站进行更改。要做到这一点,我们需要一个数据库备用位置,所以需要一个数据库备份。我可以用我的用户帐户进行SSH连接,并发现我可以在Linux上运行“mysql”命令行命令。但是当我尝试使用mysqldump命令时,它一直告诉我user @ localhost是不允许的。我阅读了关于mysqldump的文档,并尝试了各种各样的变体,然后尝试查看命令本身以查看它是否过时以及是否需要使用较老的指令。仅使用MySQL命令备份MySQL数据库

所以,没有运气。我们所能做的就是运行mysql命令。同样,我们试图在这台主机上安装phpmyadmin,但是我们遇到了问题,我们得到的是白页而不是错误,无法查看错误日志。我在PHP中做了通常的步骤来将错误转储到屏幕上,但是在运行phpmyadmin setup.php时我们只会得到一个白页。

那么,有没有一种方法可以纯粹使用“mysql”命令导出我们的数据库模式和数据?

+1

如果您可以使用命令行mysql连接并查询您的数据库,那么mysqldump应该可以正常工作 - 发生了什么问题/报告了哪些错误? – 2011-01-23 19:55:30

+0

它说“user @ localhost”访问被拒绝。 (我不能透露谁是“用户”,当然这是我通过mysql命令正确使用的用户。)另外,我尝试了--user“user @ localhost”,--user“[email protected] “和 - 用户”用户“ - 都无济于事。 – Volomike 2011-01-23 20:25:13

+0

我已经添加了一个答案,应该*希望*排序你。 :-) – 2011-01-23 20:44:09

回答

2

如果你可以使用正常的mysql命令,你应该能够使用mysqldump命令,例如:

mysqldump -u [username] -p [database name] > [output filename] 

例如,是你的用户名是“admin”,你的数据库名是“epic_website”,你想把SQL保存到当前目录下名为“epic_website_20110123.sql”的文件中,你可以使用:

mysqldump -u admin -p epic_website > epic_website_20110123.sql 

当您返回时,系统会要求您输入与“admin”用户关联的密码。