我正在使用 WHM 的自动备份系统每天备份我的数据库。我已将其设置为仅备份已更改的内容。我已经运行了一段时间,并认为它运行良好,直到今天我尝试下载备份,才意识到其中没有任何内容。sql 文件中的唯一文本是:
--MySQL 转储 10.11 -- -- 主机:localhost 数据库:pokerrpg_pokerrpg -- ------------------------------------------------------ -- 服务器版本 5.0.81-community-log /*!40101 设置@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 设置@OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 设置@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 设置名称 utf8 */; /*!40103 设置@OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 设置 TIME_ZONE='+00:00' */; /*!40014 设置@OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,UNIQUE_CHECKS=0 */; /*!40014 设置@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,FOREIGN_KEY_CHECKS=0 */; /*!40101 设置@OLD_SQL_MODE=@@SQL_MODE,SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 设置@OLD_SQL_NOTES=@@SQL_NOTES,SQL_NOTES=0 */;
答案1
您是否将 WHM 设置为每周或每月保存备份?检查 /pathtobackupfolder/cpbackups/weekly/ 并查看您是否恰好在其中有一个完整副本。我个人从未在尝试使用 WHM 的备份功能时遇到过任何麻烦。它实际上只是一个未解压的 pkgacct 文件。您可以使用 mysqldump 和 cron 进行一些非常简单的 mysql 备份。
/usr/bin/mysqldump -u db_user -pdb_user_pass db_name > /full/path/to/dumpfile.sql
其中“db_user”是数据库用户名,“db_user_pass”是该数据库用户的密码,“db_name”是要转储的数据库的名称,“/full/path/to/dumpfile.sql”是您希望将数据库转储到的位置。
您还可以在 /home/username 目录中创建一个 .my.cnf(注意需要以 . 开头),其中包含以下内容:
[client]
user = DBUSERNAME
password = DBPASSWORD
host = localhost
[mysql]
database = DBNAME
(其中 DBUSERNAME、DBPASSWORD、DBNAME 分别表示数据库用户名、密码和数据库名称。)
将其添加为您的 cron 作业:
mysqldump > /full/path/to/dumpfile.sql
您可以通过 cPanel->'Cron Jobs' 设置 cron 任务
答案2
是的,我刚刚测试了很久以来的一个备份。猜猜怎么着,“帐户恢复”备份只创建了数据库,但没有创建其中的表/数据。
我应该尝试一下你的 mysqldump。
谢谢