mysql自动备份与还原
2012-11-30 01:08
387 查看
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脚本实现呢?
在[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脚本实现呢?
相关文章推荐
- MySql 数据库自动备份及数据库还原
- java实现的MySQL自动备份和还原(struts2+Hibernate)---兼容 window+Linux
- Mysql自动备份与还原 转
- Mysql自动备份与还原方法
- Mysql自动备份与还原方法
- mysql自动备份和还原的几种方法
- Mysql自动备份与还原
- java实现的MySQL自动备份和还原(struts2+Hibernate)---兼容 window+Linux
- Linux“自动备份/删除”MYSQL
- Windows中MySQL自动备份和Windows的计划任务创建
- MySQL之数据备份与和即时点还原
- mysql数据备份与还原
- Navicat异地自动备份MySQL方法详解(图文)
- 一个Mysql自动备份脚本
- Mysql备份,还原
- windows下的mysql自动备份脚本
- mysql的备份和还原的编码问题解决
- mysql数据备份与还原
- sqlserver2008r2还原完整备份和差异备份及自动删除过期备份
- 实现 win2003 下 mysql 数据库每天自动备份