我正在努力使用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);
}
拥有更多代码以便我们可以看到您到底想用它做什么会有所帮助。
但是,如果您的目标只是备份或完全复制数据库,那么在 OS/mySQL 级别执行此操作可能更可靠。您是否缺少此级别的访问权限?
对于使用带有 cronjob 的 mysqldump 的非实时备份,您可以输出到 .sql 并再次导入。对于实时同步,您可以设置一个复制服务器,该服务器将同时更新两个数据库。
请记住,您也可以从 php 中触发 mysqldump,并避免自己编程。
快速谷歌给了我这些起始文章:
使用 MySQL转储备份: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