17

データベースをファイルにダンプしたいと思います。

一部の Web サイト ホストでは、リモートまたはコマンド ライン アクセスが許可されていないため、一連のクエリを使用してこれを行う必要があります。

関連するすべての質問mysqldumpには、優れたツールである「使用」と書かれていますが、このデータベースへのコマンド ライン アクセスがありません。

CREATEINSERTコマンドを同時に作成したいのですが、基本的には と同じ性能mysqldumpです。旅行するのに正しいSELECT INTO OUTFILE道はありますか、それとも私が見落としている何かが他にありますか? あるいは、それは不可能なのかもしれません?

4

3 に答える 3

26

純粋な PHP ソリューションを使用して、基本的なものから中程度の複雑さのユース ケースの実行可能ファイルmysqldump-phpの機能を複製します。mysqldumpホスト上でこれは機能します:

したがって、次の純粋な PHP スクリプトを /www/ のセキュア ディレクトリから直接実行するだけで、そこに出力ファイルが書き込まれ、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');
    ?>
于 2013-08-11T02:38:14.833 に答える