MySQL必知必会 学习笔记 第二十九章 数据库维护

MySQL数据库是基于磁盘的文件,普通的备份系统和例程就能备份MySQL数据,但这些文件总是打开和使用状态,普通的文件备份不一定总是有效。

备份方法:
1.使用mysqldump转储所有数据库内容到某个外部文件,进行常规备份前这个应用应先运行,以便正确地备份转储文件。
2.使用mysqlhotcopy从一个数据库复制所有数据,并非所有数据库引擎都支持它)。
3.可用BACKUP TABLE或SELECT INTO OUTFILE转储所有数据到某个外部文件,这两条语句都接受将要创建的系统文件名,此系统文件必须不存在,否则会出错。可用RESTORE TABLE来复原。

为保证所有数据被写到磁盘(包括索引),需要在备份前使用FLUSH TABLES语句。

分析并保存索引的分布.:

ANALYZE TABLE orders;

运行它:
在这里插入图片描述

使用ANALYZE TABLE分析表的过程中,数据库系统会对表加一个只读锁。在分析期间,只能读取表中的记录,不能更新和插入记录。ANALYZE TABLE语句能够分析引擎为InnoDB和MyISAM的表。

发现和修复表问题:

CHECK TABLE orders, orderitems;

运行它:
在这里插入图片描述
CHECK TABLE在MyISAM表上还对索引进行检查,它还支持用于MyISAM表的一些检查方式:
1.CHANGED检查自最后一次检查以来改动过的表。
2.EXTENDED执行最彻底的检查。
3.FAST检查未正常关闭的表。
4.MEDIUM检查所有被删除的链接并进行键检验。
5.QUICK只进行快速扫描。

如果MyISAM访问产生不正确或不一致结果,可能需要REPAIR TABLE修复相应表,这条语句不能经常使用,否则会产生更大问题。

如果从一个表中删除大量数据,应使用OPTIMIZE TABLE收回所用空间,优化表性能。

服务器启动问题通常在MySQL配置或服务器本身更改时出现,MySQL在问题发生时报告错误,但多数MySQL服务器时作为系统进程或服务自动启动的,这些消息可能看不到。

排除系统启动问题时,应尽量手动启动服务器,可通过mysqld命令启动,以下是几个重要的mysqld命令行选项:
1.–help:显示选项列表。
2.–safe-mode:装载减去某些最佳配置的服务器。
3.–verbose:显示全文本消息。
4.–version:显示版本信息。

mysql日志存放位置可通过以下命令查看:

show variables like 'datadir';

主要日志文件:
1.错误日志:包含启动和关闭问题和任意错误的细节,日志名通常为hostnamt.err,此日志名可用–log-error命令行选项更改。
2.查询日志:记录所有MySQL活动,会很快地变得非常大,不应长期使用它,在诊断问题时很有用,日志名通常为hostname.err,此日志名可用–log命令行选项更改。
3.二进制日志:记录可能更新过数据的所有语句,日志名通常为hostname-bin,,此日志名可用–log-bin命令行选项更改。此日志是MySQL 5中增加的,之前版本使用的是更新日志。
4.缓慢查询日志:记录执行缓慢的任何查询,确定数据库何处需要优化时有用,日志名通常为hostname-slow.log,此日志名可用–log-slow-queries命令行选项更改。

使用日志时,可用FLUSH LOGS语句刷新和重新开始所有日志文件(即关闭当前使用的日志文件,开启一个新的,日志文件编号+1)。

猜你喜欢

转载自blog.csdn.net/tus00000/article/details/111872021