现在的位置: 首页 > 综合 > 正文

MySQL 日常维护 文档 V1.0

2018年01月22日 ⁄ 综合 ⁄ 共 2250字 ⁄ 字号 评论关闭

MySQL 日常维护

 

其中第一至第六, 每天都需要执行, 第七到第九定期执行(1周或者2周一次?)

 

  检查数据库运行状态

       1 通过putty.exe登录远程数据库服务器,shell命令行里面执行:      

Shell > service mysqld status;

 

 pic 1

则表示数据库正在运行之中

 

2 检查错误日志

  进入/usr/local/mysql/var/,查看错误日志,例如sh-192-168-250-40.chinascopefinancial.com.err。看近期mysql在运行中是否有错误异常发生。

比如发现类似错误:

090418 19:59:11 [ERROR] Got error 127 when reading table ‘./csf/ms_company’

对于127以及126的类似错误,可以采取如下解决措施:

(1)   进入mysql窗口执行: Mysql> repair csf. ms_company ;

(2)   进入shell命令窗口: Shell> myisamchk /usr/local/mysql/var/csf/ ms_company.MYI

【】在线修复的时候,要保证没有程序在访问要修复的表。

 

3 检查备份日志

        检查前一天的备份的日志,看备份是否成功完成,或者备份过程中出

现什么错误提示。

 

4 检查数据库调度任务events事件

        检查前一天的备份的日志,看备份是否成功完成,或者备份过程中出

现什么错误提示。

 

 

  检查数据库服务器磁盘空间, 记录最近一天磁盘使用量

   通过如下shell命令检查:

Shell> df –h;

pic 2

 

得出目前已剩余磁盘空间,跟昨天的记录一对比,得出每天磁盘使用量为3G,如果磁盘可用空间小,就需要清理旧的binlog.

 

  检查表

   打开MySQL Administration工具,登录数据库服务器,检查每个库的表情况,   

   遇到有坏表的,直接Repair Table修复掉。

  

 

 

 

 

  检查master服务器的master服务以及slave机的slave服务状态

 

查看master服务器状态:Mysql> show master status; 行正常的状态如下所

:

 

   master

 

查看mysql用户线程状态: mysql> show processlist; 运行正常的状态如下所示:

 

 processlist

 

 

查看slave服务器状态: Mysql> show slave status /G; 运行正常的状态如下所示:

 

 

 slave status

 

 

 

  检查Excel错误

详细见文档“excel_error_check.sql”。

 

六, MySQL用户账户管理

    对用户严格管理,单用户只能赋予执行单个业务的权限,防止对数据的误操作。示范命令如下:

创建用户:

Mysql> grant select,insert,update,delete on csf_cms.*   to 'csf_cms_admin'@'192.168.0.97' identified by 'cca0810012045';

查看用户:

MySQL> Select  * from mysql.user;

Mysql> Select  * from mysql.db;

Mysql> select * from mysql. tables_priv;

Mysql> select * from mysql. columns_priv;

Mysql> select * from mysql. procs_priv;

赋予权限

Mysql> grant update on csf_maec.* to 'jerry.kang'@'192.168.0.103';

Mysql> grant update(flag) on csf_maec.ms_company to 'jerry.kang'@'192.168.0.103';

收回权限

revoke drop on *.* from 'sun.shang'@'192.168.0.99';

删除过期用户

mysql> drop user 'glpiuser'@'192.168.0.25';

 

 

 

七, 定期索引检查、索引优化

重点检查大表比如rpt_style1_0rpt_style1_f等的索引。

 

 

 

八, 定期检查表结构以及数据

通过 Administration工具检查,将主机与从机的库结构以及数据进行

全方位的对比对比。比如说,表以及数据量的总记录,索引的记录数,触发器的记录数,存储函数存储过程的记录数等.

 

1 检查和修复MyISAM表的一个方式是使用CHECK TABLEREPAIR TABLE

句。

 

2 优化MyISAM表,对于没有问题的表执行optimize table进行做碎片整理,回收空闲空间,例如mysql> optimize table test.cmp_158; 或者是,如果可以停一会mysqld服务器,进入数据库目录,当mysqld停止时候使用该命令:shell> myisamchk –r –s –sort-index –O sort_buffer_size=16M */*.MYI;

3 修复innodb

mysql目前没有修复innodb 表的工具,只能用innodb_force_recovery=1,避免在导出数据时再crash。在my.cnf中设置好后重启库,再用 mysqldump或者select *把出问题的表导出来。然后重新导入(删除原表)。

 

 

 

 

九, 检查备份文件,将从机的备份数据恢复到测试库,检验备份数据是否正确。

   具体操作参见文档“MySQL备份恢复初稿.docx

 

 

【】终于学会插入图片了,呵呵! 

 

抱歉!评论已关闭.