数据备份内容大纲_第1页
数据备份内容大纲_第2页
数据备份内容大纲_第3页
数据备份内容大纲_第4页
数据备份内容大纲_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Pw访谈/讲座第一期一-数据备份时间:2010年1月19日14: 00地点:地方门户发展讨论群主题:数据备份主持人:孟郦君主讲人/嘉宾:骨头(苏志森)第一部份:讲座内容作为一名站长,或者作为一名网站维护人员,最重要的工作内容之一就是保证数 据的安全,稳定的运行,数据维护有很多种,今天我们只从最底层数据聊起,mysq 备份说到数据库,这里也顺便提下,mysql的最新版本是6.系列,,下载地址: HYPERLINK /downloads/%ef%bc%8c%e8%bf%99%e9%87%8c%e6%8e%a8%e8%8d%90%e7%94%a8%e7%9a%84%e5%87%a0%e4%b8%aa

2、%e7%89%88%e6%9c%ac%e4%b8%ba%ef%bc%9a /downloads/,这里推荐用的几个版本为:php5.2.11+ mysql5.0.8x5.1.4也经常使用.都是大型或者超大型网站在使用,而且稳定使用的搭配,好,下面开始说Mysql备份.我们分三步来说这个过程吧.一是常规定期备份的重要性不可抗力因素,如火灾,地震,洪水,等造成数据丢失,当然包括硬盘报废都属于 可能发生的情况,乃至软件破坏导致数据损坏的情况下,定期备份数据就显得异常 重要.如我某某服务器放在XX机房,突发现该机房有一些服务器存有非法信息,机房 背负,如果我们要备份,那我就求神拜佛也没辙了 .如果定期

3、备份,只不过耗点人力 财力,换个地方换个机器就OK二是备份的时间选择.备份时间选择,因为备份过程会有一定的时间和资源要求,所以一般推荐选择 在夜里3到6点之间?为什么要选择这个时间备份,?很简单,这个时间段访问人数最少,服务器资源最丰富,备份也将能保证更顺利 的完成.每天都那么迟备份,那不是累死了?人是聪明的,所以有自动运行自动备份之做法,比如设置每天备份一次在凌晨 3点30分执行.(方法后面会讲到),那么站长需要做的,就是定期的把服务器的备份 数据下载下来即可.三是备份的手段和方法,分为windows和linux服务器说到备份的方法和手段,在Google那是相当的多,我也按常规和常用的方法

4、给大家做下介绍,包括实施方法.备份数据库两个主要方法是用mysqldump程序 或直接拷贝数据库文件(如用cp、tar等)。最常用的有以下几种:PW后台自 带备份法,mysqldump备份,数据库文件备份法.Phpmyadmin备份 法,(mysqlhotcopy 只能在类unix下运行的)1: PW后台自带的备份,此功能是从pma演变出来的.,可以用一个字形 容,easy!,方便,快捷.容易操作.可以单独选择表备份,可以一键备份所有论坛 数据表,对于站长来说等于无门槛的功能!推荐大家使用!还有一点,pw后台自带备份,几乎避免转移数据出现乱码.2: mysqldump备份法,此种备份是不需要停

5、止mysql,就可以直接备份的,对技 术有些要求,当然了,通过今天讲解,希望大家都理解此种方法.我们分为 windows和linux下的mysql备份来演示下.用此种方法备份,需要先了解下几个参数.-default-character-set=charset指定导出数据时采用何种字符集,如果数据表不是采用默认的latinl字符集的话, 那么导出时必须指定该选项,否则再次导入数据后将产生乱码问题。-disable-keys告诉mysqldump在INSERT语句的开头和结尾增加/*!40000 ALTER TABLE table DISABLE KEYS */;和 /*!40000 ALTER

6、TABLE table ENABLE KEYS */;语句,这能大大 提高插入语句的速度,因为它是在插入完所有数据后才重建索引的。该选项只适 合 MylSAM 表。-lock-all-tables,-x在开始导出之前,提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭-single-transaction和-lock-tables选项。-lock-tables它和lockall-tables类似,不过是锁定当前导出的数据表,而不是一下子锁定全 部库下的表。本选项只适用于MylSAM表,如果是Innodb表可以 用-single-transaction 选项。如

7、我本地:usr/local/mysql/bin/mysqldump -uroot -proot -default-character-set=gbk -opt -extended-insert二false -triggers -R -hex-blob -x wind7 phpwind75-0119.sql-hex-blob使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用本选项。影响到的字段类型有BINARY、VARBINARY、BLOB。-triggers同时导出触发器。该选项默认启用,用-skip-triggers禁用它。最常见的就是工具备份方法,如phpmyadmin ,简

8、称PMA,这个工具有个弊端,就 是备份数据很大的时候,导出容易假死,导入很难成功.不具备分卷功能.3:直接拷贝数据库文件法. 这种方法最快速,当然要求也相对较高,必须先停止或者保证没有触发修改数据 的操作.如果你想用文件系统备份来备份数据库,也会发生同样的问题:如果数据库表在 文件系统备份过程中被修改,进入备份的表文件主语不一致的状态,而对以后的 恢复表将失去意义。文件系统备份与直接拷贝文件的区别是对后者你完全控制了 备份过程,这样你能采取措施确保服务器让表不受干扰。直接拷贝比mysqldump快,但要求较高,必须是3.23以后的mysql而且文件必须 以MylSAM格式表示,而不是ISAM格

9、式。 而mysqldump生成能够移植到其它机 器的文本文件,甚至那些有不同硬件结构的机器上,但备份速度较慢。这也是两 种备份方法的不同优势.不管使用哪种备份方法,如果你需要恢复数据库,有几个原则应该遵守,以确保 最好的结果:定期实施备份。建立一个计划并严格遵守。让服务器执行更新日志。当你在崩溃后需要恢复数据时,更新日志将帮助你。在 你用备份文件恢复数据到备份时的状态后,你可以通过运行更新日志中的查询再 次运用备份后面的修改,这将数据库中的表恢复到崩溃发生时的状态。以文件系统备份的术语讲,数据库备份文件代表完全倾倒(full dump),而更新 日志代表渐进倾倒(incremental dum

10、p)。使用一种统一的和易理解的备份文件命名机制。象backup1、buckup2等不是特 别有意义。当实施你的恢复时,你将浪费时间找出文件里是什么东西。你可能发 觉用数据库名和日期构成备份文件名会很有用。如:Wind7-2010-01-19好,说了这么多理论,我们来两个脚本可以让大家实战演习下.Windowsecho offD:CD backuprenamemysqlbk.sql DATE%.sqlD:softmysqlbinmysqldump -uroot -password二root, -all-database d:/backup/mysqlbk.sql把以上代码存为backup.bat

11、并加入计划任务,设置3点执行.Linux本列假设数据安装在/usr/local/mysql目录下备份/usr/local/mysql/var下的 phpwind 数据。在/root下建立mysqlpw.sh脚本,脚本如下:#!/bin/shcd /home/phpwindphpwindfile=phpwind-$(date +%Y%m%d).tar.gz/usr/local/mysql/share/mysql/mysql.server stoptarzcvf $phpwindfile /usr/local/mysql/var/phpwind/usr/local/mysql/share/mysq

12、l/mysql.server start可将此脚本放置在crontab里面自动每天莫个时间点执行(如:00 04 * * * /root/mysqlpw.sh)2.采用mysqldump工具进行逻辑备份usrmysqlbinmysqldump -uroot -p -l -F-all-database/home/mysqlbk.sql其中-l参数表示给所有的表加读锁。一F表示生成一个行的日志文件好,说完了自动备份,我来说下人工智能备份,哈哈.Linux 下.千万要记住,不管是windows还是linux下,拷贝原数据库文件的方法一点要停 止掉mysql,您将做的不是维护,二是破坏!/etc/in

13、it.d/mysqld stopcp -af /var/lib/mysql/phpwind/*.* /usr/local/bone/pwbbs20100119/etc/init.d/mysqld starttar -zcvf /usr/local/bone/wind7.tar.gz /var/lib/mysql/phpwind/*.*解压: tarxzvf/wind7.tar.gz ./当然,也可以直接使用打包方法.搞定!#mysqldump -u root -p root | gzipwind7.tar.gz系统崩溃,重建系统时,可以这样恢复数据:#mysql -u root -p root

14、 net stop mysqlMySQL服务正在停止.MySQL服务已成功停止。D:usrMySQLbinMkdir F:C_backup2010-1-19Copy d:usrmysqldatawind7*.* F:C_backup2010-1-19 表示为:把数据库wind7 ,全部备份到F盘xxx ,目录为2010-1-19D:usrMySQLbinnet start mysqlMySQL服务正在启动.MySQL服务已经启动成功。D:usrMySQLbin一键备份法 HYPERLINK /read-htm-tid-664845.html /read-htm-tid-664845.html把

15、代码存为一键备份.batecho offcd d:cd.echo正在进入mysql目录cd d:usrmysqlbinecho正在停止mysql,请稍等net stop MySQLecho 正在备份数据,请稍等copy d:usrmysqldatawind*.* F:C_backpu2010-01-19echo备份完成在F:C_backpu2010-01-19里,请稍候net start MySQLecho已经帮备份完数据,并重启mysql 了!echo.& pause第二部份Q/A时间:问题:以上介绍了多种备份方法,我如何选择合适我的备份方法.回答:我们?可社区网站,也就自带了一个备份后台!

16、在什么情况下不使用后台备份呢?比如你的数据库已经N个G 了,如果在后台备 份,.一卷是2048KB,那么也要好几百卷,备份时间长不说.会显得很慢,还可能导致 浏览器假死,这种情况下,我们建议用拷贝文件的方法来完成备份.建议,超过1G的数据库,建议用非后台方式备份,方便,和快速,一个G以内还是建 议用后台,一个方便转移,第二后台备份的功能只要用鼠标就可以完成,任何管理。问题:多久要备份一次才算合理?!回答:我记得有的机房是三个小时备份一次,那么作为我们对数据应保持一定的敏感,建议每天备份一次,条件允许,每周下载备份数据,数据的保质期设定为7天,也就是说,今天备份,到下 周二,就可以删除了.避免浪

17、费硬盘空间! 问题:用其它软件备分的话,哪种比较好,帝国备分怎么样?回答:也可以的,不过如果数据实在太带,还是不建议使用其他备份.这里给 php100 做个广告, HYPERLINK /read.php?tid-11052.html /read.php?tid-11052.html这有个程序也支持备份数据的.08年的时候稍微说过一次,一键备份的方法 HYPERLINK /read-htm-tid-664845.html /read-htm-tid-664845.html问题:数据备分时是不是最好是先修复,再优化,再备分比较好。通常多久修复, 优化一次。回答:数据备份的时候,最好先关闭论坛,当然

18、要是先修复,在优化最好不够了 . 至于通常多久修复,优化一次,这个没有个标准,具体看服务器的环境.以及数据 库的负载情况.有一点:不要每天去修复一次,如果每天都需要修复一次数据库, 说明很严重的其他问题,要先解决问题.建议:个人建议:每周一次完整备份的时候,做一次优化和修复.问题:用xcopy是否会对数据的完整性造成问题,数据库大概3G左右回答:xcopy和copy是-一样的,前者是强制拷贝,和linux下de cp -af 一样.前提是你要先停止正在使用的mysql就没有问题。千万不要,数据库还在使用就 复制,这样可能造成数据损坏和丢失。问题:PW的数据库表,分表,如果分了之后,以后升级会不会麻烦,还有,像 有些国

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论