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进行时间点恢复
mysqlbinlog <binlog文件位置>
mysqlbinglog --start-position <开始的at号> --stop-position <结束的at号> <binlog文件位置>
如何用shell脚本实现呢?
|