一,备份
1, 建立自动备份脚本
vim /root/mysql-backup.sh
vim /root/mysql-backup.sh
#!/bin/bash
PATH=/usr/local/sbin:/usr/bin:/bin
# The Directory of Backup
BACKDIR=/backup/mysql ← 备份目录
BACKDIR=/backup/mysql ← 备份目录
# The Password of MySQL
ROOTPASS= ******** ← 将星号替换成MySQL的root密码
ROOTPASS= ******** ← 将星号替换成MySQL的root密码
# Remake the Directory of Backup
← 脚本自动运行建备份目录
rm -rf $BACKDIR
mkdir -p $BACKDIR
rm -rf $BACKDIR
mkdir -p $BACKDIR
# Get the Name of Database
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
2,给脚本给予执行权限
chmod 700 /root/mysql-backup.sh
3,运行脚本
./root/mysql-backup.sh
4查看下是否备份成功(我这里选择只单个备份数据库test2)
ll -l /backup/mysql
[root@test ~]# ll -l /backup/mysql/
总计 4
drwxr-x--- 2 mysql mysql 4096 03-24 12:20 test2
总计 4
drwxr-x--- 2 mysql mysql 4096 03-24 12:20 test2
crontab -e
← 编辑自动运行规则(然后会出现编辑窗口,操作同vi)
00 03 * * * /root/mysql-backup.sh ← 添加这一行到文件中,让数据库备份每天凌晨3点进行
00 03 * * * /root/mysql-backup.sh ← 添加这一行到文件中,让数据库备份每天凌晨3点进行
二,恢复
bin/cp -Rf /backup/mysql/test2/ /var/lib/mysql/
← 复制备份的数据库test到相应目录
chown -R mysql:mysql /var/lib/mysql/test/ ← 改变数据库test的归属为mysql
chmod 700 /var/lib/mysql/test2/ ← 改变数据库目录属性为700
chmod 660 /var/lib/mysql/test2/* ← 改变数据库中数据的属性为660
chown -R mysql:mysql /var/lib/mysql/test/ ← 改变数据库test的归属为mysql
chmod 700 /var/lib/mysql/test2/ ← 改变数据库目录属性为700
chmod 660 /var/lib/mysql/test2/* ← 改变数据库中数据的属性为660