视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySQL简易备份方法(1)|||MySQL简易备份方法(2)|||MySQL简易备份
2020-11-09 14:43:03 责编:小采
文档


一.错误修正 检测 MySQL 内 phpBB 的 DB 後发现,有个 users 的 table 是有问题的, 使用 myisamchk 尝试去修护,发现还不行用预设方式修护,还要多加个 "-o" 的参数才行,在使用myisamchk 时,为避免还有用户来存取 DB ,最好是能够将 MySQL 服务停止,不然最少也要

一.错误修正

检测 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 的目录.)

对!这样就可以了! 不过要注意的是,怕 DB 内每个 Tables 间的资料有关关联性, 所以最好是把整个 DB 一次备起来,单独只备哪个 Tables 的档案,以後回存时, 怕会有资料关联不一致的问题!

三.如何回存

phpBB 讨论区的回存,只需把档案解回原来存放网页的路径就可以,用以下指令解开:

tar xvfz phpbb2_20020601.tgz

DB 发生错误而要回存时,其实也不难,先找出最近一次完整正常的备份,先把现在错误的网页或 DB 先更名或 tar 起来,再把好的备份给解开回原来目录位置就行了,需要注意的是, MySQL 服务最好也是要先停止,回存完成後再启动服务,回存 DB 的整个程序可能像下面:

/etc/rc.d/init.d/mysqld.stop
mv phpbb2 phpbb2_error
tar xvfz phpbb2_db_20020601.tgz
/etc/rc.d/init.d/mysqld.start

然後再去测试一下网页及资料库! 看使用上是否正常就行了...

下载本文
显示全文
专题