在互联网行业中数据是很重要的,所以每个数据库都应该做好数据备份的工作。
下面就来讲解一下Linux CentOS系统下的mysql数据备份,以及定时备份的功能。(适用于mysql-cluster)
1.首先查看磁盘空间,看看那个文件空间比较大。
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 50G 15G 36G 30% /
devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs 7.9G 84K 7.9G 1% /dev/shm
tmpfs 7.9G 25M 7.9G 1% /run
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/sda1 4.0G 155M 3.9G 4% /boot
/dev/mapper/cl-lvol0 296G 65M 281G 1% /data
/dev/mapper/cl-home 20G 37M 20G 1% /home
/dev/mapper/cl-tmp 20G 33M 20G 1% /tmp
tmpfs 1.6G 16K 1.6G 1% /run/user/42
tmpfs 1.6G 0 1.6G 0% /run/user/0
可以看到/data的空间最大,决定把备份的sql放在/data里。
2.进入/data文件夹,创建mysql-backup文件夹
cd /data
mkdir mysql-backup
cd mysql-backup
3.创建sh脚本
vi bk-databaseName.sh
在脚本里写入脚本
#!/bin/bash
mysqldump -uusername -ppassword databaseName > /data/mysql-backup/databaseName_$(date +%Y%m%d_%H%M%S).sql
username代表mysql登录账户
password代表mysql登录密码(注意!-p与password之间没有空格!)
databaseName代表数据库名称
4.修改脚本执行权限
chmod +x /data/mysql-backup/bk-databaseName.sh
可以执行预先执行一下脚本,验证一下。
./databaseName.sh
如果mysql-backup文件夹下出现databaseName_20180622_103015.sql,并且文件内容与大小正确,证明备份成功。
5.接下来开始做定时备份
linux的定时功能是用crontab命令
检查crontab是否安装
# rpm -qa|grep crontab
crontabs-1.11-6.20121102git.el7.noarch
6.开始添加任务
crontab -e
7.写入定时任务
0 3 * * * /data/mysql-backup/bk-databaseName.sh
跟vi编写一样
表示每天凌晨3:00执行一次脚本
保存退出后出现以下内容及成功
no crontab for root - using an empty one
crontab: installing new crontab