分类: Mysql/postgreSQL
2008-03-28 10:49:49
来源:51CTO |
在运行数据库系统时, MySQL的使用相当简单,且进行MySQL安装和使用所需的工作也很少。然而,不论您是什么级别的专家,MySQL的安装程序都不能自动运行。必须有人来监视它以确保它能顺利和有效地运行,有时还必须知道当问题出现时应该做什么。而MySQL的管理有自己独特的需求,本文将帮助您熟悉这些内容。 管理职责概述 |
常规管理
常规管理主要指处理mysqld、MySQL服务器和提供给用户的访问服务器的操作。在履行该职责时,下列的任务是最重要的:
服务器的启动和关闭。您应该能够从命令行中手工启动和终止服务器,并且在系统启动和关闭时知道怎样进行自动启动和关闭。如果服务器崩溃了或启动不正常的话,了解怎样使服务器再次运行也是重要的。
用户账号维护。应该了解MySQL用户和UNIX 或Windows 用户之间的区别。应该知道怎样通过指定哪些用户可以连接到服务器和从哪里进行连接来建立MySQL用户账号。还应该给新的用户建议合适的连接参数,以使他们成功地连接到服务器。弄清应怎样建立账号不是用户们的工作。
日志文件维护。应该了解可以维护的日志文件的类型,以及在何时和怎样完成日志文件的维护。日志的循环和终止对于防止日志填满文件系统是必要的。
数据库备份和拷贝。数据库备份对服务器系统的崩溃是至关重要的。应该能够将数据库恢复到崩溃时的状态,以便尽可能地减少数据的丢失。请注意,数据库备份与常规的系统备份不同,例如,可通过使用UNIX 的dump 程序来进行。与数据库表相对应的文件在系统备份发生时随服务器活动而变化,因此恢复那些文件将使您的表内部不一致。mysqldump 程序将产生对恢复数据库更有用的备份文件,并允许在不关闭服务器的状态下创建备份。
如果决定在更快的主机上运行数据库,或者想复制数据库,则需要拷贝其内容到另一台机器上。如果需要的话,应该了解进行这项操作的过程。数据库文件是依赖于系统的,因此您不能只拷贝这些文件。
服务器优化。用户想要服务器以最佳状态运行。提高服务器运行性能的最简单方法是购买更多的内存或使磁盘速度更快。但是,这种直截了当的技术并不能代替对服务器工作的了解。应该了解优化服务器操作所用的参数以及如何将这些参数应用在您的环境中。在某些站点中,大多数查询都是检索。而在另一些站点,插入和更新操作占据着优势。选择对哪些参数进行修改将受到站点查询的影响。
多服务器。在某些环境中运行多服务器是有用的。如果保留当前的成品安装程序在适当的位置,或者为不同的用户组提供较好的保密性(后者与ISP 尤其相关),则可以测试新的MySQL版本。对于这些情形,您应该了解怎样建立多个同时发生的安装。
MySQL更新。由于新的MySQL版本频繁出现,应该知道怎样始终跟上这些版本以便利用故障修复和新的特性。需要了解不进行版本升级的理由,并且掌握怎样在稳定版本和开发者版本之间进行选择。
安全性
当运行MySQL安装程序时,确保用户所存储的数据的安全性是很重要的。MySQL管理员有责任控制对数据目录和服务器的访问,并应了解以下的问题:
文件系统的安全性。UNIX 机器可能会使几个用户账号成为宿主账号,而这些账号都没有与MySQL相关的管理职责。确保这些账号没有对数据目录的访问是重要的。因为这样可以防止它们通过拷贝数据库表或移动数据库表,或者通过能够读取包含敏感信息的日志文件来损坏文件系统级的数据。您应该知道如何建立MySQL服务器的UNIX用户账号,如何建立该用户所拥有的数据目录,以及如何启动服务器以便利用该用户的权限运行。
服务器的安全性。必须了解MySQL的安全系统是怎样进行工作的,以便在建立用户账号时授予适当的权限。通过网络连接到服务器的用户只允许做他们应该做的事情。您不要由于对安全系统的错误理解,将超级用户的访问权授予匿名用户。
数据库修复和维护
所有的MySQL管理员都希望避免处理破坏的或毁坏的数据库表。但是愿望不能代替现实。以下几个步骤可以使您在问题发生时减少风险并学会怎样处理问题:
崩溃恢复。如果尽管您做了最好的努力但灾难还是降临了,则应该知道如何修复或恢复表。很少会用到崩溃恢复,但当使用它时,它是一个令人讨厌的、高强度的工作(尤其是当您正在忙乱地修正某些内容时,电话铃响了或有人敲门)。然而,您必须知道怎样处理它,否则用户将会很不高兴。要熟悉isamchk 和myisamchk 的表的检查以及修复能力;要知道如何尽可能地从备份文件中恢复,并且知道怎样使用该更新日志来恢复备份之后所产生的修改。
预防性维护。预防性维护的常规程序应适当地进行安置,以使数据库破坏和毁坏的可能性最小化。当然,您还要进行备份,但是,预防性维护将减少使用这些备份的机会。
以上综合地概括了作为MySQL管理员应承担的职责。