数据库定时自动备份
1. 备份数据库命令
mysqldump -u root -p 密码 数据库 [表名1 表名2..] > 文件路径
- 所有数据库:
mysqldump –all-databases -u root -p 密码 > 文件路径
- 指定数据库:
mysqldump -u root -p 密码 数据库 > 文件路径
- 指定表:
mysqldump -u root -p 密码 数据库 表名1 表名2.. > 文件路径
2. 定时自动备份
方案: linux crontab
定时任务 + bash
脚本
1. 创建保存备份文件的路径/data/mysqlbackup
mkdir /data/mysqlbackup
2. 创建脚本
vi /usr/sbin/bakmysql
- 脚本1:
rq=` date +%Y%m%d `
tar zcvf /data/mysqlbackup/mysql$rq.tar.gz /var/lib/mysql
- 脚本2:
rq=` date +%Y%m%d `
mysqldump –all-databases -u root -p 123456 > /data/mysqlbackup/mysql$rq.tar.gz
/var/lib/mysql
是你数据库文件的目录,部分用户是/usr/local/mysql/data
,每个人可能不同
/data/mysqlbackup
表示保存备份文件的目录,这个每个人也可以根据自己的要求来做。
3. 修改文件属性,使其可执行
chmod +x /usr/sbin/bakmysql
4. 修改/etc/crontab
crontab -e
, 在下面添加
0 3 * * * root /usr/sbin/bakmysql
表示每天3点钟执行备份
5. 重新启动crond
/sbin/service crond restart
完成。
这样每天你在/data/mysqlbackup
可以看到这样的文件
mysql20100101.tar.gz
参考: