使用查询备份数据库而不使用mysqldump

Ben*_*Ben 15 mysql backup

我想将我的数据库转储到一个文件中.

某些网站主机不允许远程或命令行访问,因此我必须使用一系列查询来执行此操作.

所有相关问题都说"use mysqldump"这是一个很棒的工具,但是我没有命令行访问这个数据库.

我希望CREATEINSERT命令同时创建 - 基本上,相同的性能mysqldump.是SELECT INTO OUTFILE正确的旅行之路,还是有其他我忽视的东西 - 或许这是不可能的?

cer*_*erd 23

使用mysqldump-php纯PHP解决方案复制mysqldump可执行文件的功能,以便从基本到复杂的用例 - 我知道您可能没有远程CLI和/或mysql直接访问,但只要您可以通过httpd上的HTTP请求执行在主机上这将工作:

因此,您应该能够直接从/ www /中的安全目录运行以下纯PHP脚本,并在其中写入输出文件并使用wget获取它.

mysqldump-php - GitHub上的纯PHP mysqldump

PHP示例:

<?php
require('database_connection.php');
require('mysql-dump.php')
$dumpSettings = array(
    'include-tables' => array('table1', 'table2'),
    'exclude-tables' => array('table3', 'table4'),
    'compress' => CompressMethod::GZIP, /* CompressMethod::[GZIP, BZIP2, NONE] */
    'no-data' => false,            
    'add-drop-table' => false,      
    'single-transaction' => true,   
    'lock-tables' => false,        
    'add-locks' => true,            
    'extended-insert' => true      
);

$dump = new MySQLDump('database','database_user','database_pass','localhost', $dumpSettings);
$dump->start('forum_dump.sql.gz');
    ?>
Run Code Online (Sandbox Code Playgroud)