1. 数据库维护
检查表键
analyze table orders;
检查表
check table orders, orderitems;
1. 解决方案
1) 使用命令行使用程序mysqldump转储所有数据库内容到某个外部文件。在进行常规备份前这个使用程序应当正常运行,以便能正确地备份转储文件。
2) 可用命令行实用程序mysqlhotcopy从一个数据库复制所有数据(并非所有数据库引擎都支持这个实用程序)。
3) 可以使用MySQL的backup table或select into outfile转储所有数据到某个外部文件。这两条语句都接受将要创建的系统文件名,此系统文件必须不存在,否则会出错。数据可以用restore table来复原。
2. check table用来针对许多问题对表进行检查,支持一系列的用于MyISAM表的方式。
changed检查自最后一次检查以来改动过的表;
extended执行最彻底的检查;
fast只检查未正常关闭的表;
medium检查所有被删除的链接并进行键检验;
quick只进行快速扫描;
3. 如果MyISAM表访问产生不正确和不一致的结果,可能需要用repair table来修复相应的表。这条语句不应该经常使用,如果需要经常使用,可能会有更大的问题需要解决。
4. 如果从一个表中删除大量数据,应该使用optimize table来收回所有的空间,从而优化表的性能。
5. 诊断启动问题的几个重要的mysqld命令行选项
--help显示帮助--一个选项列表;
--safe-mode装载减去某些最佳配置的服务器;
--verbose显示全文本消息(为获得更详细的帮助消息与--help联合使用);
--version显示版本信息然后退出;
6. 查看日志文件
1) 错误日志。它包含启动和关闭问题以及任意关键错误的细节。此日志通常名为hostname.err,位于data目录中。此日志名可以用--log-error命令行选项更改。
2) 查询日志。它记录所有的MySQL活动,在诊断问题时非常有用。此日志文件可能会很快地变得非常大,因此不应该长期使用它。此日志通常名为hostname.log,位于data目录中。此名字可以用--log命令行选项更改。
3) 二进制日志。它记录更新过数据(或者可能更新过数据)的所有语句。此日志通常名为hostname-bin,位于data目录内。此名字可以用--log-bin命令行选项更改。注意,这个日志文件是MySQL5中添加的,以前的MySQL版本中使用的是更新日志。
4) 缓慢查询日志。此日志记录执行缓慢的任何查询。这个日志在确定数据库何处需要优化很有用。此日志同城名为hostname-slow.log,位于data目录中。此名字可以用--log-slow-queries命令行选项更改。
使用日志时,可用flush logs语句来刷新和重新开始所有日志文件。