目前成熟的实时备份为双机(master/slave),是基于同步日志事件来实现,那单机如何实现具有增量的备份呢?可以借用双机的原理,非常简单,实施步骤如下:
Mysql版本:mysql4.0+
1、vi my.cfg
[mysqld]
log-update=/home/backup/update #添加该行
2、service mysql restart
会在/home/backup/update00001文件,内容为数据库变化的所有SQL(没有select)
3、每天的全备,mysql4.0+最简单就是备份data目录。
service mysql stop
tar -czf data(日期).tar.gz mysql/data
service mysql start
当mysql启动时系统会自动在/home/backup/创建update0000*的文件,那我们可以用该文件作为当天全备的增量实时备份。
4、数据还原
service mysql stop
tar -zxvf data(日期).tar.gz mysql/
service mysql start
mysqladmin -u -p /home/backup/update0000*
如想还原昨天、前天的数据只需要找相应的update0000*来还原即可:)
Mysql版本:mysql4.0+
1、vi my.cfg
[mysqld]
log-update=/home/backup/update #添加该行
2、service mysql restart
会在/home/backup/update00001文件,内容为数据库变化的所有SQL(没有select)
3、每天的全备,mysql4.0+最简单就是备份data目录。
service mysql stop
tar -czf data(日期).tar.gz mysql/data
service mysql start
当mysql启动时系统会自动在/home/backup/创建update0000*的文件,那我们可以用该文件作为当天全备的增量实时备份。
4、数据还原
service mysql stop
tar -zxvf data(日期).tar.gz mysql/
service mysql start
mysqladmin -u -p /home/backup/update0000*
如想还原昨天、前天的数据只需要找相应的update0000*来还原即可:)
大家注意的是,这里的内存指的是linux下的内存处理方式. 我告诉有朋友我一直用linux.他问我了一下我为什么linux使用的内存这么高.他讲他1G的内在free才232M.而win xp才用200M的样子
其实啊.linux的内存是很说究的.如下命令free是显示的当前内存的使用,-m参数的意思是M字节来显示内容.我们来一起看看.
$ free -m
total used free shared buffers cached
Mem: 1002 769 232 0 62 421
-/+ buffers/cache: 286 715
Swap: 1153 0 1153
第一部分Mem行:
total 内存总数: 1002M
used 已经使用的内存数: 769M
free 空闲的内存数: 232M
shared 当前已经废弃不用,总是0
buffers Buffer 缓存内存数: 62M
cached Page 缓存内存数:421M
其实啊.linux的内存是很说究的.如下命令free是显示的当前内存的使用,-m参数的意思是M字节来显示内容.我们来一起看看.
$ free -m
total used free shared buffers cached
Mem: 1002 769 232 0 62 421
-/+ buffers/cache: 286 715
Swap: 1153 0 1153
第一部分Mem行:
total 内存总数: 1002M
used 已经使用的内存数: 769M
free 空闲的内存数: 232M
shared 当前已经废弃不用,总是0
buffers Buffer 缓存内存数: 62M
cached Page 缓存内存数:421M