此文章主要介绍的是在MySQL数据库中的自动备份与MySQL数据库遭到破坏之后的恢复中建立数据库备份所需条件,其中包括对自动备份脚本的建立,MySQL数据库自动备份脚本的正确运行与数据库备份脚本每天自动运行。
[1] 建立自动备份脚本
在这里,为了使MySQL数据库备份和恢复的符合我们的实际要求,用一段符合要求的Shell脚本来实现整个备份过程的自动化。
[root@CentOS ~]# vi mysql-backup.sh ← 建立数据库自动备份脚本,如下:
- #!/bin/bash
- PATH=/usr/local/sbin:/usr/bin:/bin
- # The Directory of Backup
- BACKDIR=/backup/mysql
- # The Password of MySQL
- ROOTPASS=
此处请将星号替换成MySQL的root密码
- # Remake the Directory of Backup
- rm -rf $BACKDIR
- mkdir -p $BACKDIR
- # Get the Name of Database
- DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
- # Backup with Database
- for dbname in $DBLIST
- do
- mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
- done
[2] 运行MySQL数据库自动备份脚本
[root@CentOS ~]# chmod 700 mysql-backup.sh 改变脚本属性,让其只能让root用户执行
[root@CentOS ~]# ./mysql-backup.sh 运行脚本
[root@CentOS ~]# ls -l /backup/mysql/ 确认一下是否备份成功
total 8
drwxr-x--- 2 mysql mysql 4096 Sep 1 16:54 mysql 已成功备份到/backup/mysql目录中
[3] 让数据库备份脚本每天自动运行
[root@sample ~]# crontab -e ← 编辑自动运行规则(然后会出现编辑窗口,操作同vi)
00 03 * * * /root/mysql-backup.sh 添加这一行到文件中,让数据库备份每天凌晨3点进行
测试自动备份正常运转与否(备份恢复的方法)
这里,以通过实际操作的过程来介绍问题出现后的恢复方法。
【编辑推荐】
- MySQL 分页存储过程的实际操作流程与代码
- MySQL数据库权限设置的实际运行过程
- Python如何对MySQL存储过程进行调用?
- MySQL数据库的基本结构与索引的优化方案
- AJAX MySQL 数据库与PHP的实例演示