Rumah  >  Artikel  >  pangkalan data  >  MySQL数据库的备份与维护详解

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

巴扎黑
巴扎黑asal
2017-05-20 14:09:461731semak imbas

备份数据

像所有数据一样,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访问控制的几个注意要点

Atas ialah kandungan terperinci MySQL数据库的备份与维护详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn