我想将我的数据库转储到一个文件中.
某些网站主机不允许远程或命令行访问,因此我必须使用一系列查询来执行此操作.
所有相关问题都说“使用MysqLdump”,这是一个很棒的工具,但是我没有命令行访问这个数据库.
我想同时创建CREATE和INSERT命令 – 基本上,与MysqLdump的性能相同. SELECT INTO OUTFILE是正确的旅行之路,还是我还有其他东西可以忽略 – 或许这是不可能的?
解决方法
使用MysqLdump-PHP一个纯PHP解决方案来复制MysqLdump可执行文件的功能,用于基本的复杂用例 – 我知道你可能没有远程CLI和/或MysqL直接访问,但只要你可以通过HTTP执行在主机上的httpd请求这将工作:
因此,您应该能够直接从/ www /中的安全目录运行以下纯PHP脚本,并在其中写入输出文件并使用wget获取它.
mysqldump-php – Pure PHP mysqldump on GitHub
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'); ?>