小编典典

用PHP备份MySql数据库

sql

我在MySql中有一个很大的数据库,我需要每天左右对其进行备份。

我需要能够从任何计算机上进行备份,因此我考虑制作一个php脚本来做到这一点,并将此php脚本置于联机状态(具有密码保护和授权等功能,因此只有我可以访问它)。

但是,我不知道如何正确完成?

我应该使用哪些命令,并且可以更改备份的设置(例如Add AUTO_INCREMENT value = true)?

我将不胜感激…

另外,如果这是一个错误的方法(不安全,或者使用错误的sql文件提供了错误的备份),那么还建议使用其他哪种方法?我具有外壳访问权限,并且具有VPS(ubuntu服务器)。

我的Mysql版本是5.1

谢谢


阅读 289

收藏
2021-03-23

共1个答案

小编典典

无需在数据库备份中使用PHP。您只需要一个使用mysqldump备份数据库的脚本,并设置一个CRON作业来定期执行该脚本:

mysqldump db_name > backup-file.sql

…将通过将mysqldump的输出重定向到指定的文件名,将数据库备份到文件中。

Peter提出了一个很好的观点,即该命令只会给您一天的归档时间,任何超过两天的归档都将被覆盖。这样一来,您就可以拥有7天的滚动日志:

CURRENT_DAY_OF_WEEK=`date '+%u'`
FILENAME="mysqlbackup_"$CURRENT_DAY_OF_WEEK".sql"

mysqldump db_name > $FILENAME

另请注意,将应用文件权限-如果执行脚本的用户对该文件夹没有权限,则无法写入文件。

2021-03-23