1,数据存储路径/var/lib/mysql 来确认数据,快3平台架设【企鹅21717-93408】同时事先需要开启bin-log。
2,写一个shell脚本来实现数据库文件的备份。
3,通过crontabl来配合shell脚本实现自动化备份数据库文件。
4,预先执行shell脚本文件来备份数据库wiki文件。
5,模拟用户删除数据库wiki文件。
6,通过本地最近备份文件来恢复数据库wiki文件。
7,验证数据库wiki有效性。
【实验过程】
1,数据存储路径/var/lib/mysql 来确认数据。
[root@wiki mysql]# ls
aria_log.00000001 multi-master.info mysql.sock
aria_log_control mysql performance_schema
ib_buffer_pool mysql_bin.000001 test
ibdata1 mysql_bin.000002 wikidatabase
ib_logfile0 mysql_bin.000003 wiki.pid
ib_logfile1 mysql_bin.000004
ibtmp1 mysql_bin.index
开启bin-log,需要重新启动数据库。
vim /etc/my.cnf.d/server.cnf
[mysqld]
log-bin=mysql-bin
重启数据库:systemctl restart mariadb.service
2,写一个shell脚本来实现数据库文件的备份。
#auto backup mysql
#tony 2019-03-01
#Define PATH定义变量
BAKDIR=/data/backup/mysql/`date +%Y-%m-%d`
MYSQLDB=wikidatabase
MYSQLPW=Android
MYSQLUSR=root
#must use root user run scripts 必须使用root用户运行,$UID为系统变量
if
[ $UID -ne 0 ];then
echo This script must use the root user ! ! !
sleep 2
exit 0
fi
#Define DIR and mkdir DIR 判断目录是否存在,不存在则新建
if
[ ! -d $BAKDIR ];then
mkdir -p $BAKDIR
else
echo This is $BAKDIR exists....
fi
#Use mysqldump backup mysql 使用mysqldump备份数据库
/usr/bin/mysqldump -u$MYSQLUSR -p$MYSQLPW -B -F -R -x --master-data=2 $MYSQLDB|gzip >$BAKDIR/wikidatabase_db.sql.gz
echo "The mysql backup successfully
-----------------
参数说明:
-B:指定数据库
-F:刷新日志
-R:备份存储过程等
-x:锁表
--master-data:在备份语句里添加CHANGE MASTER语句以及binlog文件及位置点信息
原文地址:https://www.cnblogs.com/wenshegn/p/10471641.html