备份数据库
可能的解决方案:
- 使用mysqldump转储所有数据库内容到某个外部文件
- 使用mysqlhotcopy从一个数据库复制所有数据(并非所有数据库引擎都支持,支持myisam不支持innodb)
- 使用mysql的
backup table
或select into outfile
转储所有数据到某个外部文件。数据可用restore table
复原
进行数据库维护
1、检查表键是否正确
analyze table users;
+----------------+---------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+----------------+---------+----------+----------+
| zshanjun.users | analyze | status | OK |
+----------------+---------+----------+----------+
2、检查表问题
check table users;
+----------------+-------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+----------------+-------+----------+----------+
| zshanjun.users | check | status | OK |
+----------------+-------+----------+----------+
3、修复表repair table
如果myisam表访问产生不一致和不正确的结果,可能需要用repair table
来修复响应的表。
这条语句不应该经常使用,如果需要经常使用,可能会有更大的问题要解决
4、删除优化
如果从一个表中删除大量数据,应该使用optimize table
来收回所有空间,从而优化表的性能
诊断启动问题
在排除系统启动问题时,首先应该尽量手动启动服务器。MySQL服务器自身通过在命令行上执行mysqld启动。
查看日志文件
主要的日志文件有以下几种:
1、错误日志。它包含启动和关闭问题以及任意关键错误的细节。此日志通常名为hostname.err,位于data目录中。
2、查询日志。它记录所有MySQL活动,在诊断是非常有用。此日志文件可能很快地变得非常大,因此不应该长期使用它。
此日志通常名为hostname.log,位于data目录中。
3、二进制日志。它记录更新过数据(或者可能更新过数据)的所有语句。
此日志通常名为hostname-bin,位于data目录下。
4、慢查询日志。记录执行缓慢的查询。
此日志通常名为hostname-slow.log,位于data目录下。
参考书籍:
- MySQL必知必会