MYSQL数据库的管理技巧
【摘要】mysql数据库的备份、检查、修复等是每一位信息管理人员应必备的能力,因此掌握mysql数据库管理的技巧会使您的工作事半功倍。本文就作者多年的数据库维护经验,介绍在数据库备份、检查、修复中的一些方法和技巧。
【关键词】mysaql;备份;修复;工具
mysql是一个跨平台的开源关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,目前被广泛地应用在各单位的数据管理中。因此,mysql数据库的管理和维护已经成为每一位信息管理人员日常工作的重要部分,数据库的备份、检查、修复等成为必修课。多年的数据库维护工作使我积累了如下使用技巧:
一、数据库的正确备份与恢复备份
平时我们在使用mysql数据库的时候经常会因为操作失误造成数据丢失,mysql数据库备份可以帮助我们避免由于各种原因造成的数据丢失或着数据库的其他问题。
1、数据原文件备份
mysql数据库损坏修复mysql数据在设计时就将一个个数据库独立地放在mysql应用目录下,因此方便了我们对需要备份的数据库进行原文件拷贝,并完成数据的备份的操作。这也成为目前mysql管理者主要使用的备份方法之一。
假如我们的mysql数据库安装在f:\mysql下,在此应用目录下有一个叫data的目录,data目录是mysql的数据库存储目录,在data目录下就是我们各个数据库的原文件目录,目录名称与我们的数据库名字是完全一致的,我们仅需把需要备份的数据库名字对应的目录复制到我们的备份目录,即完成了对指定数据库的备份。需要注意的是data目录下的mysql目录是mysql的表与用户权限关系数据库,一般情况下不要去动它。
2、数据导出备份
导出备份相对于原文件备份要麻烦一些,不过因为能导出单个sql文件,能为其它应用项目的部署提供条件。因此,这也是需要学会并掌握的内容。
进行数据库导出时,可以在服务器本地进行,也可以远程进行,这里仅描述服务器本地导出方法。
数据库导出命令:mysqldump
标准版的mysql中,此命令位于mysql目录下的bin目录里,命令格式如下:
mysqldump –u [用户名] –p [用户密码] [需要备份的数据库名] > [备份到哪个路径下的哪个文件名]
假设我们使用最高权限用户root进行备份,最高权限用户密码为123456,我们需要将一个名叫abc的数据备份到f:\abc.sql文件,我们进入f\mysql\bin\目录进行备份,例:
mysqldump –u root –p 123456 abc > f:\abc.sql
执行以上备份后在我们的f盘下会生成一个叫abc.sql的文件,这就是我们备份出来的abc数据库的备份文件。
3、原文件恢复备份
将我们备份的原文件拷贝到mysql的data目录下就完成了备份恢复。
4、备份数据导入
与mysqldump相对应,备份数据的输入也是使用命令进行,命令模式如下: mysql –u [数据库用户名] –p [用户密码] [需要恢复的数据库名]< [包括备份文件名称的完整路径] 将之前我们备份出来的abc.sql文件进行一次导入,使用我们假设的最高权限用户root来进行,例: mysql –u root –p 123456 abc< f:\abc.sql 执行完成后,备份的abc.sql数据就完成了导入。需要注意的是导入前如果mysql没有abc这个数据库,请先使用建立数据的命令建立一个空的abc数据库。
二、数据检查与修复
1、日常数据检查的优化
虽然mysql为数据库检查、优化、修复提供多个可选择的单独命令,不过在日常维护中,我们更喜欢一次性就完成检查、优化、修复的操作,这样能省下不少的时间,还能提高工作效率,命令如下: mysqlcheck –o [数据库名] -u [数据库用户名] –p [用户密码] 如果我们需要对abc进行检查和优化,我们只需在f:\mysql\bin下执行命令: mysqlcheck -o abc –u root –p 123456 执行完成后,abc数据库中存在的数据错误将全部得到检查、修复和优化。
2、数据表文件修复命令
记得有一次,单位的一个100万行级的数据表损坏,导致服务器cpu占用100%,使用普通修复和优化无果,在这样的特殊情况下,mysql数据表出现数据表文件损坏,我们已经无法用mysqlcheck完成修复,在此我们需要用到另一个命令(标准安装版中一定有,解压版的可能没有这个命令):
myisamchk -b -o [目标数据表物理路径] 此命令也在mysql的bin目录下。如果有一天,我们的abc数据库下的test数据表损坏,我们可以使用以下命令进行修复: myisamchk -b –o f:\msyql\data\ d 通过执行这个命令,损坏的test表文件有90%的机会得到修复,让我们的数据得到挽救。 注意:运行命令时需要停止mysql服务,如果表比较大,修复时需要一定的时间。
三、工具推荐
1、phpmyadmin是一款在线管理工具,目前已经应用得非常广泛,它提供了从数据库权限分配到数据库远程备份打包下载的日常所需要的大部分功能。
2、sqlyog是一款多功能的mysql客户端,可以在服务器或本地进行安装使用,它提供了全部
我们需要的功能(除数据表损坏修复),不但能方便地完成远程查询,还能将我们查询的结果导出成为我们需要的文件格式,方便提取数据报表。同时,对不同字符集的支持比较全面。对于mysql管理员或开发人员来说,它能完成触发器、存储过程代码的编写,是一款非常出的mysql远程管理利器。