1、修改配置文件:#vim /etc/my.cnf

      在[mysqld]的最后面加上

       log-bin=binlog    ------------------------------------------------------------->打开binblog功能

       log-bin-index=binlog.index------------------------------------------------>规定索引文件

       sync_binlog=0----------------------------------------------------------------->数据先写到内存再写到文件

       重启mysql服务:#service mysqld restart

2、截取/etc/passwd文件中的用户名,UID,GID,家目录到文件/tmp/mydata

       cat /etc/passwd | awk -F: ‘{print $1,$3,$4,$6}’>/tmp/mydata

3、将文件/tmp/mydata导入数据库

        #mysql  -u  root  -h localhost  -p   --------------->回车进入数据库,默认没有密码

        mysql>create database  mybinlog;------------------------>创建数据库mybinlog

        mysql>create table mybinlog.a  (name char(10),uid int,gid int,homedir char(10));------------>创建表

        mysql>load data infile '/tmp/mydata' into table mybinlog.a;---------------------------->向表内加载数据

4、添加计划任务,周日全备份,周一到周六增量备份,每天通过flush执行binlog

        #crontab -e

      * 0 * * 7 /usr/bin/mysqldump mybinlog > /tmp/binlog.bak

      * 0 * * 1-6/1  /usr/bin/mysql  -e  'flush logs'

5、 恢复周三之前备份,根据查看at进行时间点恢复
  1)删除所有数据
     2)然后恢复第一周的数据,再恢复周一的数据,一次恢复到周三的数据
      mysqlbinlog <binlog文件位置>
      mysqlbinglog --start-position <开始的at号> --stop-position <结束的at号> <binlog文件位置>

如何用shell脚本实现呢?