MySQL_DBA
整理
前言
几乎所有的资料整理都在 Linux 系统、mySQL5.0.27 版本和 MyISAM 存储引擎环境下试验和总结的,
以 及 参 考 前 人 经 验 与 MySQL 官 网 资 料 进 行 总 结 的 。 关 于 MySQL 的 安 装 与 升 级 , 我 相 信 很 多
MySQL_DBA 都比我厉害,MySQL 官网与其他网站上应该有很多相关资料:
关于安装写一条简单的命令与一些必要的说明:
1. 源码安装的脚本
由于我的数据库只使用
,所以为了一致性就这样设置,你也可以设置为自己的类
型。
2.
必要说明:
为了方便程序的升级以及性能更高,应该把 MySQL 程序与数据文件放在不同的目录下面,最好还是
不同的磁盘上。若起用了日志功能,最好是把 MySQL 程序、数据文件和日志文件分别放在三个不同的磁
盘上,从而避免程序升级带来的潜在而致命的问题,提高数据的读写能力(注:毕竟磁盘的转速有限)。
第一部分:数据库的备份与还原
对于
!"
存储引擎的表,由于只有表级的锁,所以目前还没有出现象
#$
存储引擎的那种
可以不缩定表的备份方法。目前用得最多最普遍的两种方法:文件的拷贝与
数据库。
文件的拷贝:就是在备份期间锁定数据库表,不允许其他用户进行任何更新操作,然后直接把
%&#
、
%&
、
文件拷贝到备份的目录下。一般使用免费的工具:
,至于如何使用会在
备份脚本中给出参考,但是该方法没有办法备份存储过程、函数等,但是另系统库
'(
一起备份的话,
是可以实现备份存储过程、函数等的效果。
#
方法:也是非常类似,就是把指定数据库的所有数据表结构与数据生成
)
与
语
句。
总结:这两种方法各有优劣,需要看根据实际情况使用那种备份方法。
*
、文件拷贝:此方法备份的速度快,锁定表的时间相对短,且恢复起来也非常快。但是恢复的时
候,一般需要在同一种类型的系统、
!+,
版本上进行恢复备份的数据库文件。缺乏跨平台的、跨版本
等缺点。
*
、
#
:此方法备份的速度慢,锁定表的时间长,且恢复起来也慢。可是此种备份的文件,具
有跨平台、跨版本、跨存储引擎(备份时设置好就可以)等优势。
介于上面的描述,我们应该是两种方法结合。比如:平时进行完整备份时,可以采用文件拷贝的方
式;对于备份的文件需要放到不同类型系统平台的或不同
!+,
版本上再进行还原话,建议采用
#
方式。建议以上两种备份方式可以只作为完整备份的方式,若需要精确到秒的话,可以考虑:
文件拷贝
-
日志备份 或
#-
日志备份,最好是采用文件拷贝
-
日志备份。至于备份的频率,需要根据
自己的系统特点与数据重要指定。在此介绍一种比较普遍的策略:
每天的
./0..0..
左右进行完整备份,然后每小时进行一次日志文件备份。(注意:日志文件太大
评论