mysqldump-php无法使用共享的托管公司数据库。没有命令行访问权限或SUPER权限

时间:2014-08-03 12:58:17

标签: php mysql

有人知道 mysqldump-php 是否可以使用共享主机?我可以让它在我的本地计算机上工作(我也可以让mysqldump在本地工作)但我需要一种方法来备份一个由一个流行的虚拟主机公司托管的数据库。他们向客户提供的唯一方法是登录phpMyAdmin并手动下载.sql。日常。你自己。不允许自动化。我是一个新手,我正在努力寻找解决方案。

mysqldump-php调用

namespace Ifsnop\Mysqldump;

use Exception;
use PDO;
use PDOException;

它没有提到需要命令行访问权限或SUPER权限。

我使用的设置不正确吗?

这是我在Github上使用的代码的链接。

https://github.com/ifsnop/mysqldump-php#dump-settings

任何帮助都会非常感激!

1 个答案:

答案 0 :(得分:1)

我查看了ifsnop的代码,并在启动事务之前使用SET GLOBAL TRANSACTION ISOLATION LEVEL REPEATABLE READ。全局设置仅允许使用SUPER特权(您没有在共享环境中拥有,有充分的理由;)。)

你可以:

  1. 如果您只有MyISAM表,则不需要进行交易,因此可以在配置中将其关闭。

    $dumpConfig = array( 'single-transaction' => false ); $md = new Mysqldump($db, $user, $pass, $host, 'mysql', $dumpConfig);

  2. 或;将该单词GLOBAL更改为SESSION(从而修改下载的代码)。