MySQL学习:
MySQL数据库维护
因为MySQL数据库是基于磁盘的文件,普通的备份系统和例程就能备份MySQL的数据。
为了保证所有数据被写到磁盘(包括索引数据),可能需要在进行备份前使用 FLUSH TABLES 语句。
一.进行数据库维护
- 用来检查表键是否正确
ANALYZE TABLE 表名;
- 用来针对许多问题对表进行检查
CHECK TABLE 表名 [CHANGED/EXTENDED/FAST/MEDIUM/QUICK];
CHANGED : 检查自最后一次检查以来改动的表。
EXTENDED : 执行最彻底的检查。
FAST : 只检查未正常关闭的表。
MEDIUM : 检查所有被删除的链接并进行键检验。
- 如果表访问产生不正确和不一致的结果,可能需要用 REPAIR TABLE来修复相应的表。不过这条语句不应该经常使用,若经常使用,可能会有更大的问题要解决。
- 如果从一个表中删除大量数据,应该使用 OPTIMIZE TABLE 来收回所用的空间,从而优化表的性能。
二.诊断启动问题
服务器启动问题通常在对MySQL配置或服务器本身进行更改时出现。
在排除系统启动问题时,首先应该尽量用手动启动服务器。
几个重要的mysql命令行选项:
- –help 显示帮助 ———— 一个选项列表
- –safe-mode 装载减去某些最佳配置的服务器
- –verbose 显示全文本消息
- –version 显示版本信息
三.查看日志文件
- 错误日志
它包含启动和关闭问题以及任意关键错误的细节。此日志通常名为hostname.err,位于data目录中。此日志名可用 –log-error 命令行选项更改。
- 查询日志
它记录所有MySQL活动,在诊断问题时很有用。此日志通常名为 hostname.log,位于data目录中。此名字可用 –log 命令行选项更改。
- 二进制日志
它记录更新过数据(或者可能更新过数据)的所有语句。此日志通常名为 hostname-bin,位于data目录中。此名字可用 –log-bin 命令行选项更改。
- 缓慢查询日志
记录缓慢的任何查询。这个日志在确定数据库何处需要优化很有用。此日志通常名为 hostname-slow.log,位于data目录中。此名字可用 –log-slow-queries 命令行选项更改。