0

我正在努力使用 PHP 备份我的数据库。我已经尝试过这段代码,但它只生成一个空的 .sql 文件。

function backup_tables($host,$user,$pass,$name,$tables = '*')
{

    $link = mysql_connect($host,$user,$pass);
    mysql_select_db($name,$link);

    //get all of the tables
    if($tables == '*')
    {
        $tables = array();
        $result = mysql_query('SHOW TABLES');
        while($row = mysql_fetch_row($result))
        {
            $tables[] = $row[0];
        }
    }
    else
    {
        $tables = is_array($tables) ? $tables : explode(',',$tables);
    }
4

1 回答 1

0

拥有更多代码,这样我们就可以看到您到底想用它做什么,这会很有帮助。

但是,如果您的目标只是备份或完全复制数据库,则在 OS/mySQL 级别执行此操作可能更可靠。您是否缺乏此级别的访问权限?

对于使用带有 cronjob 的 mysqldump 的非实时备份,您可以输出到 .sql 并再次导入。对于实时同步,您可以设置将同时更新两个数据库的复制服务器。

请记住,您也可以从 php 中触发 mysqldump 并避免自己编程。

一个快速的谷歌给了我这些起始文章:

使用 mysqldump 备份:http ://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/

复制:https ://www.digitalocean.com/community/articles/how-to-set-up-master-slave-replication-in-mysql

于 2013-10-23T11:27:40.980 回答