数据库定时自动备份

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

参考:

原文地址:https://www.cnblogs.com/linyufeng/p/13100027.html