我想配置MySQL定期将所有数据转储到.sql
文件,这样如果我的服务器出现问题并且我需要重新开始,我可以使用该文件将所有数据放回去地点。我怎样才能做到这一点?我可以提出建议,包括使用MySQL Workbench用户界面来配置它或使用查询。
答案 0 :(得分:1)
您需要查看mysqldump.exe。这可能是将整个数据库转储到原始SQL文件中的最简单方法。
然后,您将要设置一个脚本,该脚本使用适当的参数调用mysqldump.exe,并设置Windows计划任务或Linux计时任务以调用脚本。
答案 1 :(得分:1)
您可以使用mysqldump 命令。假设您现在想要备份所有数据库:
mysqldump -hMY_HOST.COM -uDB_USERNAME -pDB_PASSWORD USERNAME_DATABASENAME > MysqlDump.sql
要运行定期备份,您可以设置服务器cron,该服务器cron在一段时间后(例如24小时)运行mysqldump命令
mysqldump -hMY_HOST.COM -uDB_USERNAME -pDB_PASSWORD USERNAME_DATABASENAME > MysqlDump.sql
创建转储文件后。设置另一个cron将此转储复制到目标服务器(比如本地服务器),使其以相同的上述cron间隔执行。您可以使用scp(安全副本):
scp user@MY_HOST.COM:/some/path/file user2@MY_HOST2.COM:/some/path/file
注意: mysqldump命令可能导致高服务器负载,具体取决于数据库大小(确保在服务器负载最小时执行它们。)
Cron Job: 要设置cron作业,将上面的备份命令放在.sh文件中,然后通过运行来创建cron:
sudo crontab -e // Open your root crontab file
0 0 * * * USERNAME /path/to/script.sh // Run a cronjob at midnight every day
有关cronjobs的更多信息:http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/