MySQL数据库维护手册
来源:互联网 发布:淘宝页面背景图片素材 编辑:程序博客网 时间:2024/05/21 21:35
一、每天做的
(一)确保mysql启动并运行。
查看mysql进程是否运行正常,具体命令是ps -ef|grep mysql;top检查mysql的运行。以下是一个例子:
(二)检查管理员错误日志和慢查询日志。
管理员错误日志为DBA准备,它记录了mysqld当启动和停止,以及服务器在运行过程中发生的任务号严重错误是的相关信息。用—log-error指定路径。命令:
命令:tail -f /var/log/mysql/mysqld.err
慢日志文件为开发人员而准备,记录了所有执行时间超过参数long_query_time 的sql语句。查看:show variables like 'long%';修改:set long_query_time=2。
命令1:mysqldumpslow /var/run/mysqld/mysqld-slow.log 汇总查看
命令2:tail -100 /var/run/mysqld/mysqld-slow.log|more 直接文本文件查看
(三)检查昨天晚上的备份是否成功。
晚上备份如果有错或没有存放在安全的地方,那么对日后的恢复来说简直就是灾难。确认备份成功的命令是:
1、查看备份日志记录:tail –f /var/bak/mysql_bak_log.log
2、备份的文件:cat /var/bak/2012-03-07/IDM_bak.sql|more
3、可以每天把备份的结果和内容email发送给相关人员
4、异地备份文件
(四)查看数据库日志文件是否归档成功。
此处说的日志是mysql数据库的二进制日志,记录着DDL和DML语句,但不包括查询语句。此日志对于灾难是的数据恢复起着重要作用。用—log-bin指定路径。
命令:mysqlbinlog /var/lib/mysql/mysqld-bin.000555
(五)检查并确认数据库和管理系统的配置参数没有被更改。
在有多个管理员的数据库环境下,经常会发生某个管理员改动配置参数而其他管理员不知晓的情况,所以管理员需要检查数 据库相关配置文件的正确性。
命令:show variables;
将这些命令的结果输出到一个文件,文件名可写上当时的时间,比如结果文件名" MYSQL_20120315.txt" ;使用UltraEdit文件的比较功能比较昨天的配置文件有无改变。
(六)查看数据库程序的工作负载。(不会)
对一个在线事务处理系统(OLTP)来说,缓冲池的利用比率是非常重要的。数据仓库应用中不可能有非常高的缓冲池利用率,所以根据工作负载量来进行各项性能检查就显得很重要了。
(七)确信还有足够的剩余内存空间可供数据库使用。
察看服务器上的总内存大小和MySQL数据库占用的内存大小情况是很重要的一件事,在Unix/Linux平台下使用free命令将显示出系统的总内存大小以及被应用程序占用掉的内存大小,和当前系统剩余可用的内存大小。
(八)每天建议学习MySQL的相关知识。
广泛的阅读相关资料,比如"MysQL手册"对数据库管理员有帮助。跟mysql维护的人多多交流。
二、每周做的
(一)查找新的数据库对象。
察看是否有人在你的生产型数据库中建立了新的数据库对象(比如,表、索引、存储进程)也是一件重要的事情。新对象 的出现,一般意味着服务器上有新的应用出现了,否则新出现的对象会影响到系统操作的特性。另外新对象也会消耗掉系统的一部分存储空间,如果是非管理员建立 的新数据库对象将可能会对数据库表空间和运行效率产生不良影响。
查看表状态:show table status; 跟上周比较结果,分析新增表
查看索引的性能: show status like "Handler_read%"; Handler_read_key 值高表示索引效果好,Handler_read_rnd_next值高表示索引低效。
(二)查找需要重新组织的表或索引。
当在表上插入、更新、删除记录行时,表中的数据需要重新组织,以便使索引、空间、记录等能更优化地存在。根据每个增加的表分析表结构和索引是否合理,不合理的话找相关人员修改。
(三)查找最活跃的10张表。(没有此项功能)
(四)将所有二进制日志文件归档处理。
这些日志文件需要每周做处理,保存以便将来调查分析,先压缩在删除,节省存储空间。(空闲时间维护)
二进制日志的删除:
1、mysql> reset master; (删除所有日志文件)
2、mysql> purge master logs to‘mysqld-bin.000022’;(删除000222之前的文件)
3、mysql> purge master logs before‘yyyy-mm-dd hh:mm:ss’;(删除定义时间之前的文件)
4、设置参数—expire_logs_days=5,自动删除5天前的日志文件(不用,定期压缩日志,定期备份)
(五)注意检查并更新软件到新版本。
当系统平稳运行时,一般不需要升级或补丁自己的MySQL软件。可关注的MySQL的最新变化。
三、每月做的
(一)查找异常增长的指示器。
回顾表空间在过去的一个月时间里,增长了多少,发现特别消耗空间的表,以便提前做预处理。表大小=数据大小 + 索引大小;
SQL> SHOW TABLE STATUS FROM 数据库名 LIKE 数据表名;
SQL>select table_name,data_length from information_schema.tables;
(二)根据增长适当规划数据库系统的扩张问题。
比较你收集到的处理器、内存、以及磁盘利用率等系统级信息,规划MySQL数据库对象今后扩展的对策。
- MySQL数据库维护手册
- Oracle数据库日常维护手册
- Oracle数据库日常维护手册
- Oracle 数据库日常维护手册
- Oracle数据库日常维护手册
- Oracle数据库日常维护手册
- PostgreSQL学习手册(数据库维护)
- PostgreSQL学习手册(数据库维护)
- Oracle10g数据库日常维护手册
- PostgreSQL学习手册(数据库维护)
- PostgreSQL学习手册(数据库维护)
- PostgreSQL学习手册(数据库维护)
- 十四、MySQL数据库维护
- Oracle DBA数据库日常维护完全手册
- Oracle DBA数据库日常维护完全手册
- Oracle DBA数据库日常维护完全手册
- 学习手册之维护MySQL安装
- MySQL数据库管理与维护
- Ubuntu 安装g++-4.4和gcc-4.4
- 由于应用程序的配置不正确,应用程序未能启动
- ibatis 使用文档 (上篇)
- jsp中给出404/500错误,跳到指定的错误页面
- JSP之神奇的EL表达式
- MySQL数据库维护手册
- PHP相关系列 - 漫谈社区PHP 业务开发
- Lua与C/C++的交互3:C/C++中读取Lua文件中的表
- oc比较字符串
- bundle
- Android.mk文档规范
- SliverLight 的OOB技术简介(silverlight发布桌面程序)
- ruby安装出现没有libyaml-devel的包
- NoSQL(一)概述