发布网友 发布时间:2022-05-04 22:53
共2个回答
懂视网 时间:2022-05-05 03:14
对于大容量的数据库来说。用户当然想每一个时刻都备份所有数据,保证数据库的备份完整性,以免以外情况下,丢失的原数据库内容时候可以做到完全备份,把损失减低到最
对于大容量的数据库来说。用户当然想每一个时刻都备份所有数据,保证数据库的备份完整性,以免以外情况下,丢失的原数据库内容时候可以做到完全备份,把损失减低到最小。
一般来说,很多人都用直接把数据库或者表备份到一个文件,而且是每周一次或者是每天一次,当数据库或者是表非常大的时候,一次备份的时间就需要很长了,而且有时候也要人工操作。理想的方法当然是自动完成而且是不需要用户手工操作。下面介绍一个方法,实时备份(也叫增量备份)。
mysql4.0+版本和mysql5.0+版本操作有些不同。
1、对于mysql4.0+
#This
#20014-03-11
#Uncomment
#Read
[mysqld]
basedir=C:/mysql
#bind-address=192.168.1.5
datadir=C:/mysql/da
#language=C:/mysql/share/your
#slow
#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
#2014-03-11
#Uncomment
#Read
[mysqld]
log-update=f:update
basedir=C:/mysql
#bind-address=192.168.1.5
datadir=C:/mysql/da
#language=C:/mysql/share/your
#slow
#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:mysqlinmysqladmin
然后,你就可以看到f:盘根目录下多了一个文件,名为update.00001,如果你一直使用着这个mysql服务器,那么这个文件就记录了mysql里面所有的数据库的表的变化(查询语句不包括)。
这种方法是最方便和最快捷的实时备份。
当然,你现在会想到如果mysql服务器真的出现意外时候,应该怎么还原呢?
看下面:
在你实行增量备份时,应该备份一次整个msyql的所有数据库(其实最简单的方法就是复制da
之后所有的变化都会出现在update.00001…………update.00002……………里面了,为什么有这么多的update.0000x呢?
因为每次重启电脑都会相应的增加一个更新的增量备份文件。
如果真的出现数据库意外时候,那就在msyql数据库里面删除所有资料,接着把原来复制出来的da
你还可以每一次关机之前都备份一次mysql里面的所有数据库,那么当出现意外时候,只需要还原最后一次的update.0000x文件就行了。
还原update.0000x文件用以下语句:mysqladmin
热心网友
时间:2022-05-05 00:22
MySQL(和PHP搭配之最佳组合)mp与MySQL(和PHP搭配之最佳组合)服务器协同操作。
直接拷贝方法在服务器外部进行,并且你必须采取措施保证没有客户正在修改你将拷贝的表。如果你想用文件系统备份来备份数据库,也会发生同样的问题:
如果数据库表在文件系统备份过程中被修改,进入备份的表文件主语不一致的状态,而对以后的恢复表将失去意义。文件系统备份与直接拷贝文件的区别是对后者你
完全控制了备份过程,这样你能采取措施确保服务器让表不受干扰。
MySQL(和PHP搭配之最佳组合)mp比直接拷贝要慢些。
MySQL(和PHP搭配之最佳组合)mp生成能够移植到其它机器的文本文件,甚至那些有不同硬件结构的机器上。直接拷贝文件不能移植到其它机器上,
除非你正在拷贝的表使用MyISAM存储格式。ISAM表只能在相似的硬件结构的机器上拷贝。在MySQL(和PHP搭配之最佳组合)
3.23中引入的MyISAM表存储格式解决了该问题,因为该格式是机器无关的,所以直接拷贝文件可以移植到具有不同硬件结构的机器上。只要满足两个条
件:另一台机器必须也运行MySQL(和PHP搭配之最佳组合) 3.23或以后版本,而且文件必须以MyISAM格式表示,而不是ISAM格式。
不管你使用哪种备份方法,如果你需要恢复数据库,有几个原则应该遵守,以确保最好的结果:
定期实施备份。建立一个计划并严格遵守。
让服务器执行更新日志。当你在崩溃后需要恢复数据时,更新日志将帮助你。在你用备份文件恢复数据到备份时的状态后,你可以通过运行更新日志中的查询再次运用备份后面的修改,这将数据库中的表恢复到崩溃发生时的状态。
以文件系统备份的术语讲,数据库备份文件代表完全倾倒(full mp),而更新日志代表渐进倾倒(incremental mp)。
使用一种统一的和易理解的备份文件命名机制。象backup1、buckup2等不是特别有意义。当实施你的恢复时,你将浪费时间找出文件里是什么东西。你可能发觉用数据库名和日期构成备份文件名会很有用。例如:
%MySQL(和PHP搭配之最佳组合)mp samp_db >/usr/archives/MySQL(和PHP搭配之最佳组合)/samp_db.1999-10-02
%MySQL(和PHP搭配之最佳组合)mp menagerie >/usr/archives/MySQL(和PHP搭配之最佳组合)/menagerie.1999-10-02