在数据库的运行中,由于人为因素或一些不可抗力因素,数据会受到损坏。因此,为了保护数据安全和最大限度地减少停机时间,我们需要制定详细的备份/恢复计划,并定期测试计划的有效性。
本章介绍如何根据mysql服务器的运行机制和提供的工具对数据库进行备份、维护和修复。
以下是一些预防措施:
制定数据库备份/恢复计划,并仔细测试。
启动数据库服务器的二进制更改日志。这个函数的系统开销非常小(大约1%)。我们没有理由不这样做。
定期检查数据表,以防烧毁。
定期备份备份文件,防止备份文件失效。
将MySQL的数据目录和备份文件放在两个不同的驱动器中,平衡磁盘I/O,增加数据安全性。
检查/修复数据表
最好通过发出CHECK TABLE或REPAIRE TABLE命令来维护数据表,让MySQL服务器自动锁表,以协调数据表中读写数据的一致性。
Myisamchk工具也可以用来维护数据表,但是它是直接访问相关的数据表文件,不经过服务器,所以需要手动协调数据表中读写数据的一致性。用myisamchk查数据表。具体操作步骤如下:
用mysql客户端程序连接到服务器,发出LOCK TABLE命令以只读方式锁定数据表。
% mysql
mysql & gt使用数据库
mysql & gt锁表table _ name READ#以只读方式锁定表格
mysql & gt刷新表table _ name#关闭数据表文件,将内存中的信息写入磁盘。
保持上述状态不退出,打开另一个shell窗口,使用下面的命令维护(检查)数据表。
% myisamchk table _ name
如果不保持上述状态并退出mysql会话,表锁将自动取消。
维护完成,切换回mysql状态下的shell窗口,发出以下命令解锁表。
mysql & gt解锁表格;
用myisamchk修复数据表的具体操作步骤如下:
要修复,您需要以读/写模式锁定数据表。该命令如下所示:
% mysql
mysql & gt使用数据库
mysql & gt锁表table_name写;#以读/写模式锁定数据表
mysql & gt刷新表table _ name
保持mysql客户端连接,切换到第二个shell窗口并运行repair命令:
% myisamchk-recoverable _ name
最好在运行修复命令之前备份数据文件。
修复后,切换回mysql客户端连接窗口,运行以下命令解锁数据表:
mysql & gt刷新表table _ name#让服务器知道新生成的索引文件
mysql & gt解锁表格;
您还可以使用以下命令锁定所有表。锁定后,所有用户只能读取数据,不能写入数据,这样我们就可以安全地复制数据文件。
mysql & gt用读锁刷新表;
以下是解锁语句:
mysql & gt解锁表格;
关键词:MYSQL,修复数据表
优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。本文链接:http://www.123down.cn/gonglue/227178.html