首页  >  文章  >  数据库  >  MySQL数据库的备份与维护详解

MySQL数据库的备份与维护详解

巴扎黑
巴扎黑原创
2017-05-20 14:09:461710浏览

备份数据

像所有数据一样,MySQL的数据也必须经常备份。由于MySQL数据库是基于磁盘的文件,普通的备份系统和例程就能备份MySQL的数据。但是,由于这些文件总是处于打开和使用状态,普通的文件副本备份不一定总是有效。

下面列出这个问题的可能解决方案。

1.使用命令行实用程序 mysqldump 转储所有数据库内容到某个外部文件。在进行常规备份前这个实用程序应该正常运行,以便能正确地备份转储文件。

2.可用命令行实用程序 mysqlhotcopy 从一个数据库复制所有数据(并非所有数据库引擎都支持这个实用程序)。

3.可以使用MySQL的 BACKUP TABLE 或 SELECT INTO OUTFILE 转储所有数据到某个外部文件。这两条语句都接受将要创建的系统文件名,此系统文件必须不存在,否则会出错。数据可以用 RESTORETABLE 来复原。

首先刷新未写数据 为了保证所有数据被写到磁盘(包括索引数据),可能需要在进行备份前使用 FLUSH TABLES 语句。

进行数据库维护

MySQL提供了一系列的语句,可以(应该)用来保证数据库正确和正常运行。

以下是你应该知道的一些语句。

1.ANALYZE TABLE ,用来检查表键是否正确。 ANALYZE TABLE 返回如下所示的状态信息:

输入:

ANALYZE TABLE orders;

输入:

6.png

2.CHECK TABLE 用来针对许多问题对表进行检查。在 MyISAM 表上还对索引进行检查。 CHECK TABLE 支持一系列的用于 MyISAM 表的方式。CHANGED 检查自最后一次检查以来改动过的表。 EXTENDED 执行最彻底的检查, FAST 只检查未正常关闭的表, MEDIUM 检查所有被删除的链接并进行键检验, QUICK 只进行快速扫描。如下所示, CHECK TABLE 发现和修复问题:

输入:

CHECK TABLE orders,orderitems;

输出:

7.png

3.如果 MyISAM 表访问产生不正确和不一致的结果,可能需要用REPAIR TABLE 来修复相应的表。这条语句不应该经常使用,如果需要经常使用,可能会有更大的问题要解决。

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

【相关推荐】

Mysql免费视频教程

2. MySQL设置访问权限实例详解

3. MySQL创建用户账号和删除用户账号

4. mysql管理用户、更改口令的命令行实例操作

5. mysql访问控制的几个注意要点

以上是MySQL数据库的备份与维护详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn