mysqldump 可以把整个数据库装载到一个单独的文本文件中。这个文件包含有所有重建您的数据库所需的 SQL 命令。这个命令取得所有的模式并将其转换成 DDL 语法,取得所有数据,并从这些数据中创建 INSERT 语句。这个工具将您的数据库中所有的设计倒转。因为所有的东西都被包含到了一个文本文件中。这个文本文件可用一个简单的批处理和一个合适 SQL 语句导回到 MySQL。
需求背景
杜老师说的评论数据存放于 MySQL 数据库,为保证服务持久性,故需独立部署。单独使用云主机太浪费,云数据库成本又高,所以杜老师选择临时的 MySQL 数据库。
但是无法保障该数据库的安全性,所以需要使用定期备份,以确保评论不丢失。
备份命令
命令格式,其中的大写处为自定义:
1 | mysqldump -hHOSTNAME -uUSERNAME -pPASSWORD DATABASE > /PATH/FILENAME.sql |
命令解释:
命令 | 解释 |
---|---|
mysqldump | 备份命令 |
-hHOSTNAME | 指定数据库的访问地址 |
-uUSERNAME | 指定数据库的访问用户 |
-pPASSWORD | 数据库用户的密码 |
DATABASE | 需备份的数据库名 |
> | 将生成的数据写入文件 |
/PATH/FILENAME.sql | 备份文件路径 |
备份脚本
按照日期生成备份文件,脚本内容参考如下:
1 |
|
如需定时执行,先执行 crontab -e
,然后添加如下内容:
1 | 0 0 * * * /PATH/mysqldump.sh |
写在最后
如提示 mysqldump 命令没有找到,则运行下面的命令安装:
1 | apt -y install mysql-client # for Debian or Ubuntu |
如提示文件无权限,则运行下面的命令安装:
1 | chmod +x /PATH/mysqldump.sh |
条评论