我正在努力使用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);
}
答案 0 :(得分: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