怎么对MySQL数据库做备份?

发布于 2021-11-15 11:05:33 字数 107 浏览 947 评论 5

我现在有个Schema,空间增长非常快。用SQL导出,在三个月内从700K涨到了30M。

有没有好的备份方法?除了到处SQL以外。

 

谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

笑红尘 2021-11-16 04:55:50

引用来自“虫虫”的帖子

引用来自“陈志伟”的帖子

我是用crontab 定时运行sh程序备分的,代码如下,还加上了gz压缩,出来的备份文件会小好多

#!/bin/sh
# File: /home/mysql/backup.sh
# Database info
DB_NAME="test"
DB_USER="username"
DB_PASS="password"
# Others vars
BIN_DIR="/usr/local/mysql/bin"
BCK_DIR="/home/mysql/backup"
DATE=`date +%F`
# TODO
$BIN_DIR/mysqldump -u$DB_USER -p$DB_PASS --skip-opt --single-transaction --add-drop-table --create-options --quick --extended-insert --set-charset --disable-keys $DB_NAME | gzip > $BCK_DIR/db_$DATE.gz

然后使用将此脚本加到 /etc/crontab 定时任务中:
01 5 * * 0 mysql /home/mysql/backup.sh
好了,每周日凌晨 5:01 系统就会自动运行 backup.sh 文件备份 MySQL 数据库了。

深巷少女 2021-11-16 04:49:41

试试 date --help ,里面有关于输出时间的格式

简单气质女生网名 2021-11-16 00:47:24

引用来自“陈志伟”的帖子

我是用crontab 定时运行sh程序备分的,代码如下,还加上了gz压缩,出来的备份文件会小好多

#!/bin/sh
# File: /home/mysql/backup.sh
# Database info
DB_NAME="test"
DB_USER="username"
DB_PASS="password"
# Others vars
BIN_DIR="/usr/local/mysql/bin"
BCK_DIR="/home/mysql/backup"
DATE=`date +%F`
# TODO
$BIN_DIR/mysqldump -u$DB_USER -p$DB_PASS --skip-opt --single-transaction --add-drop-table --create-options --quick --extended-insert --set-charset --disable-keys $DB_NAME | gzip > $BCK_DIR/db_$DATE.gz

然后使用将此脚本加到 /etc/crontab 定时任务中:
01 5 * * 0 mysql /home/mysql/backup.sh
好了,每周日凌晨 5:01 系统就会自动运行 backup.sh 文件备份 MySQL 数据库了。

不再见 2021-11-15 23:58:58

才几十兆而已啊,压缩一下估计也就是几百K

mysqldump -h [host] -u [username] --password=[password] [database-name] | gzip > /data/backup/data.sql.gz

如果数据再大的话,超过G了,估计你暂时超过不了G了,再议。

另外一种方法是直接拷贝数据文件。

爱你是孤单的心事 2021-11-15 23:18:14

我是用crontab 定时运行sh程序备分的,代码如下,还加上了gz压缩,出来的备份文件会小好多

#!/bin/sh
# File: /home/mysql/backup.sh
# Database info
DB_NAME="test"
DB_USER="username"
DB_PASS="password"
# Others vars
BIN_DIR="/usr/local/mysql/bin"
BCK_DIR="/home/mysql/backup"
DATE=`date +%F`
# TODO
$BIN_DIR/mysqldump -u$DB_USER -p$DB_PASS --skip-opt --single-transaction --add-drop-table --create-options --quick --extended-insert --set-charset --disable-keys $DB_NAME | gzip > $BCK_DIR/db_$DATE.gz

然后使用将此脚本加到 /etc/crontab 定时任务中:
01 5 * * 0 mysql /home/mysql/backup.sh
好了,每周日凌晨 5:01 系统就会自动运行 backup.sh 文件备份 MySQL 数据库了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文