mysqldump的替代品?

时间:2013-03-05 15:23:41

标签: php mysql mysqldump

首先,我遇到了MYSQLDump的严重问题,我们的主域有一个专用服务器,我运行以下命令:

mysqldump --opt -h localhost -u root -p ***** --all-databases > ~/var/www/vhosts/mydomain/httpdocs/db.sql

我一无所获:(

但更重要的是,我没有root权限访问我可以访问的每个服务器。但我有数据库用户名和密码。当然,只有PHP可以转储SQL数据库的全部内容吗?

3 个答案:

答案 0 :(得分:0)

那你为什么不使用你的数据库用户/密码来执行每个数据库转储,如下所述:

http://dev.mysql.com/doc/refman/5.1/de/mysqldump.html

mysqldump [options] --databases db_name1 [db_name2 db_name3 ...]

我只知道备份mysql数据库的两个选项。一种是使用mysqldump,另一种是停止mysql-server并备份数据库文件。使用PHP或其他任何东西进行转储将持续更长时间,并且只需使用mysqldump就会造成更多麻烦!

答案 1 :(得分:0)

  

我不知道有一个MySQL root。

那么,那是你问题的最可能原因,因为你有这个:

mysqldump --opt -h localhost -u root -p *****
                             ^^^^^^^

-u参数需要MySQL用户,而您可能正在使用系统的root用户,这是完全不同的。

如果每个数据库都有一个单独的用户,我担心您将不得不发出单独的转储。

此外,尝试获取错误消息。通过将stderr运算符附加到您的命令,您可以redirect stdout2>&1,并且可以获取shell_exec()返回的输出。

答案 2 :(得分:0)

在mysqldump命令中,在-p和密码之后没有空格,所以你的行应该是这样的:

mysqldump --opt -h localhost -u root -p***** --all-databases > /var/www/vhosts/mydomain/httpdocs/db.sql