欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql实时备份以及版本差异

程序员文章站 2022-05-07 12:21:39
...

对于大容量的数据库来说。用户当然想每一个时刻都备份所有数据,保证数据库的备份完整性,以免以外情况下,丢失的原数据库内容时候可以做到完全备份,把损失减低到最

对于大容量的数据库来说。用户当然想每一个时刻都备份所有数据,保证数据库的备份完整性,以免以外情况下,丢失的原数据库内容时候可以做到完全备份,把损失减低到最小。

一般来说,很多人都用直接把数据库或者表备份到一个文件,而且是每周一次或者是每天一次,当数据库或者是表非常大的时候,一次备份的时间就需要很长了,而且有时候也要人工操作。理想的方法当然是自动完成而且是不需要用户手工操作。下面介绍一个方法,实时备份(也叫增量备份)。

mysql4.0+版本和mysql5.0+版本操作有些不同。

1、对于mysql4.0+

首先在C:盘的windows文件夹里面找到my.ini配置文件。

里面的内容通常为如下:

#This File was made using the WinMySQLAdmin 1.4 Tool

#20014-03-11 15:17:00

#Uncomment or Add only the keys that you know how works.

#Read the MySQL Manual for instructions

[mysqld]

basedir=C:/mysql

#bind-address=192.168.1.5

datadir=C:/mysql/data

#language=C:/mysql/share/your language directory

#slow query log#=

#tmpdir#=

#port=3306

#set-variable=key_buffer=16M

log-update=f:\update

[WinMySQLadmin]

Server=C:/mysql/bin/mysqld-nt.exe

user=iouioupp(自定义的)

password=iouioupp(自定义的)

上面的配置文件说明了我的mysql数据库装在c:盘里面,接着我们只需要在[mysqld]项目下面增加一条语句就可以实现增量备份了。

#This File was made using the WinMySQLAdmin 1.4 Tool

#2014-03-11 15:17:00

#Uncomment or Add only the keys that you know how works.

#Read the MySQL Manual for instructions

[mysqld]

log-update=f:\update

basedir=C:/mysql

#bind-address=192.168.1.5

datadir=C:/mysql/data

#language=C:/mysql/share/your language directory

#slow query log#=

#tmpdir#=

#port=3306

#set-variable=key_buffer=16M

log-update=f:\update

[WinMySQLadmin]

Server=C:/mysql/bin/mysqld-nt.exe

user=iouioupp(自定义的)

password=iouioupp(自定义的)

请注意看紫红色的语句(它就是了)。

输入后,你可以重启电脑,或者启动任务管理器,把mysqld-nt终止进程。

前者重启电脑后会自动启动mysql服务器,后者需要你重新启动这个程序c:\mysql\bin\mysqladmin

然后,你就可以看到f:盘根目录下多了一个文件,名为update.00001,如果你一直使用着这个mysql服务器,那么这个文件就记录了mysql里面所有的数据库的表的变化(查询语句不包括)。

这种方法是最方便和最快捷的实时备份。

当然,你现在会想到如果mysql服务器真的出现意外时候,应该怎么还原呢?

看下面:

在你实行增量备份时,应该备份一次整个msyql的所有数据库(其实最简单的方法就是复制data文件夹)。

之后所有的变化都会出现在update.00001…………update.00002……………里面了,为什么有这么多的update.0000x呢?

因为每次重启电脑都会相应的增加一个更新的增量备份文件。

如果真的出现数据库意外时候,那就在msyql数据库里面删除所有资料,接着把原来复制出来的data文件夹粘贴到原来位置,接着就是执行所有的update.0000x文件。最后就完成了。

你还可以每一次关机之前都备份一次mysql里面的所有数据库,那么当出现意外时候,只需要还原最后一次的update.0000x文件就行了。

还原update.0000x文件用以下语句:mysqladmin -u -p flush-logs