MySQL简易备份方法

2016-01-29 15:10 8 1 收藏

MySQL简易备份方法,MySQL简易备份方法

【 tulaoshi.com - MySQL 】

适用对象: MySQL DB管理员.
适用条件: 对 Linux 环境有基础的管理及操作能力.
文章附注: 本篇文章为自由文件,欢迎非商业性质转载,并请注明出处!
商业性质转载请来信告知!
特别注意: 1.本篇文章提供之程式及设定*不一定*符合您的环境,
请依您的系统环境适当地修改程式及设定.
2.在执行任何具破坏性的动作及行为前,
请确认您已作好完整可用的资料备份工作.

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)

 目录内容
一.前言
二.错误修正
三.开始备份
四.如何回存
五.MySQL线上备份
六.MySQL线上回存
七.开始排定备份
八.结语
九.参考资料
十.附录-备份Script原始档

 

一.前言

        前几周,正当我在网上快乐的冲浪,在酷!学园快乐的灌口水时, 竟蹦出一页 "phpBB critical error",查询 Database 出现错误的讯息,中断了各学员在各系版唇枪舌战,热烈的讨论,虽然过了不久,系统管理工友把网页修好,但开始连续几个星期,phpBB 讨论区有时还是很容易挂掉,频率大约是 一至二周一次,通常都是在周末大家最闲的时侯发生的,幸好此时刚好世界杯足球赛正好开打,不能到学园灌水,最少还有足球赛可以看. 当时修护的方式,是将 MySQL 服务停止,再把前一次可用的DB档案盖回去, 然後再重新启动 MySQL 服务来测试 phpBB 是否正常,这样子的作法通常都有效, 但总是会遗失某一段时间内的文章,这不是大家所希望的... 为了保存许多珍贵的资料和学园们恶心的口水,我开始著手准备 DB 的备份 工作,准备重建这个有问题 DB ,更为将来校园的迁址作 DB 移转准备.

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)

(DB: Database的简称,以下都以 DB 取代 Database,
phpBB: 酷!学园讨论区系统的软体名称)

二.错误修正

花了一些时间熟悉主机的环境後,我开始寻找错误在那里... 检测 MySQL 内 phpBB 的 DB 後发现,有个 users 的 table 是有问题的,
使用 myisamchk 尝试去修护,发现还不行用预设方式修护,还要多加个 "-o" 的参数才行,在使用myisamchk 时,为避免还有用户来存取 DB ,最好是能够将 MySQL 服务停止,不然最少也要下个 "mysqladmin flush-tables" 後, 再作 myisamchk 指令,像:

myisamchk -o phpbb2_users.MYI

这个动作,可能要作个2~3次,直到没有错误的讯息出现! 修护完,重新启动 MySQL 服务後,就可以用 mysql 这个 client 的指令, 去 Query 一下 DB 内容,测试看是否正常.很幸运的,DB的部份在此时, 运作是正常的. 当然,在你要备份之前,假如能先检测资料是否正确,那是最好不过了, 假如有需要,可以把检测的工作,排定在备份工作之前,但是记得,这个检测DB 的动作不要排定在 DB 高用量的那段时间,深夜无人上线的时段是个不错的选择!


三.开始备份

phpBB 讨论区的资料档,主要有两个部份,就是 php 主程式和 DB 内容,
php 主程式的备份就比较简单,只要把全部档案 tar 起来就行了,就像:

tar cvfz phpbb2_20020601.tgz phpbb

(上面的 phpbb 是指 phpBB 的 php 网页程式存放目录.)

以後有改到 phpBB 网页程式部份再重新备份一次就行,它的内容资料都写在DB 内,所以 php 程式档部份异动性应该不大.

再来就是 MySQL DB 部份了,预设 MySQL 的 DB 档案是存在 /var/lib/mysql 内, 以 DB 名称为目录,目录内就是该 DB 的所有资料,像 phpbb2 这个 DB, 就是存在 /var/lib/mysql/phpbb2 内,在备份前,因为怕资料尚未完全写入磁碟, 而且 MySQL 会 Lock 在使用的 DB 档案,所以应该是要先把 MySQL 先 Shutdown 一下, 整个备份的程序可以下像下面的指令去完成:

/etc/rc.d/init.d/mysqld stop
tar cvfz phpbb2_db_20020601.tgz phpbb2
/etc/rc.d/init.d/mysqld start

(上面的 phpbb2 是指存放 phpbb2 这个 DB 的目录.) Ok!这样就完成了! (什麽?就这样! 3行就结束了?!)

对!这样就可以了! 不过要注意的是,怕 DB 内每个 Tables 间的资料有关关联性, 所以最好是把整个 DB 一次备起来,单独只备哪个 Tables 的档案,以後回存时, 怕会有资料关联不一致的问题! 以酷!学园的口水讨论区为例,有21000笔左右的文章加上1200名注册会员,资料库
整个 tar 起来大约30几 MB 左右,每天备份,以一周为周期来计算,备份大约只需要
(35*7=245) 200 多 MB 左右的空间,一星期的备份烧在一张光碟还够!

本新闻共3页,当前在第1页  1  2  3  

来源:http://www.tulaoshi.com/n/20160129/1495407.html

延伸阅读
相信很多个人网站的站长,或者是独立Blog的博主,都有着备份数据库这样一个需求。当然WordPress这样插件非常丰富的Blog系统有好多能帮你完成这项任务的插件。如果您需要自己亲手来备份数据库的话,我贴一个Mysql自动备份脚本供大家参考,在国外网站上看到的,还是不错,实现了定期备份Mysql数据库,并且可以选在在每周的一天做指定目录下文件的...
标签: MySQL mysql数据库
  设置 MySql 数据同步 mysql从3.23.15版本以后提供数据库复制功能。利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能 数据库同步复制功能的设置都在mysql的设置文件中体现。mysql的配置文件(一般是my.cnf),在unix环境下在/etc/mysql/my.cnf 或者在mysql用户的home目录下的my.cnf。 window环境中,...
标签: MySQL mysql数据库
在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。有时,正是MySQL管理员造成破坏。管理员已经知道表已破坏,用诸如vi或Emacs等编辑器试图直接编辑它们,这对表绝对不是件好事! 备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件(...
相信很多个人网站的站长,或者是独立Blog的博主,都有着备份数据库这样一个需求。当然WordPress这样插件非常丰富的Blog系统有好多能帮你完成这项任务的插件。如果您需要自己亲手来备份数据库的话,我贴一个Mysql自动备份脚本供大家参考,在国外网站上看到的,还是不错,实现了定期备份Mysql数据库,并且可以选在在每周的一天做指定目录下文件的...
标签: SQLServer
  使用MYSQL进行数据库备份,又很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQL会有更简捷的使用文件目录的备份方法,而且又快有好。 一、数据备份捷径 因为这个方法没有得到官方正式文档的验证,我们暂称为试验吧。 目的:备份hostA主机中一个mysql数据库TestA,并恢复到到hostB机中 试验环境: ...

经验教程

312

收藏

30
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部