日常管理的主要职责是对MySQL服务器程序mysqld的运行情况进行管理,使数据库用户能够顺利地访问MySQL服务器。下面是这项工作的主要职责:
服务器的启动和关闭。这一职责的具体内容包括:1)从命令行以手动方式启动和关闭MySQL服务器;2)安排MySQL服务器在系统开机和关机过程中自动的启动和关闭;3)在MySQL服务器崩溃或者非正常启动时把它恢复到正常的运行状态。
对用户账户进行管理。这一职责的具体内容包括:1)了解MySQL用户账户与UNIX或Windows注册账户之间的区别;2)设置MySQL用户账户,限制用户只能从指定的机器上去连接MySQL服务器;3)把正确的连接参数通知给新用户,使他们能顺利地连接上MySQL服务器--他们的工作是使用数据库而不是设置账户!4)如果用户(或者你本人)忘记了口令,你还要知道怎样才能重新设置一个新口令。
对日志文件进行管理。这一职责的具体内容包括:1)知道自己都能对哪些类型的日志文件进行管理;2)在什么时候以及如何去进行管理;3)制定并实施日志循环和失效机制,防止日志文件把文件系统的可用空间消耗殆尽。
对数据库进行备份和搬迁。当系统发生崩溃的时候,数据库备份将发挥至关重要的作用。你肯定希望自己能够以尽可能小的数据损失把系统恢复到崩溃发生之前的状态。但要注意的是,数据库备份工作与普通意义上的系统备份工作(比如用UNIX工具程序dump进行的备份工作)是有区别的。系统备份工作通常由系统管理员负责,他在备份工作开始之前不一定把MySQL服务器关闭掉。于是,在系统备份工作的进行过程中,可能会有某些数据表的内容因为MySQL服务器仍在对它们进行着读写而发生变化--用这样的备份来恢复系统将导致那些数据表的内容发生错乱。mysqldump程序生成的备份文件更适用于数据库恢复操作,而且它不要求你必须在备份开始之前先关闭MySQL服务器。你还可能需要磁盘满时移动数据库。
数据库的搬迁指的是把数据库从一个硬盘转移到另一个硬盘上去。当磁盘的可用空间所剩无几时或者你想把某些数据库转移到另一台速度更快的主机上时,就需要对有关的数据库进行搬迁。这里要提醒大家注意这样一个问题:数据库文件依赖于具体的操作系统,所以数据库的搬迁操作不一定总能用简单的文件拷贝命令完成。
建立数据库镜像。如果把对数据库进行备份或者拷贝比喻成数据库拍"照片"的话,建立数据库镜像就相当于给数据库拍"录像"了。建立数据库镜像需要同时运行两个数据库服务器并使它们构成主、从关系,这样对主服务器所管理的某个数据库所做的修改将同步地(可能稍有延迟)反映在从服务器所管理的与之对应的数据库里。
对服务器进行配置和优化。数据库用户都希望数据库服务器运行在最佳状态,而改善服务器性能的最简单方法是添置更多的内存和更高速的硬盘。但这绝不能成为你不钻研数据库工作原理的理由--在如此"蛮干"之后,仍需要对服务器进行配置和优化。这一职责的具体内容包括:1)知道有哪些参数可以用来对服务器进行优化;2)如何根据具体情况来进行这些优化。某些站点上的查询多为数据检索操作,而另一些站点上的查询却多为数据插入和修改操作。具体到你的站点,应该根据实际观察到的查询"混合比例"去选择最有效的参数来加以改变。
对数据库服务器进行"本地化"(比如设置适当的字符集和时区等)也是其配置工作之一。
同时运行多个服务器。某些场合需要同时运行多个服务器。你或许是相对MySQL软件的一个新版本进行测试但又必须让现有的服务器保持运行,或许是想通过让不同的用户组去使用不同的服务器以便为各组用户提供更好的隐私保护机制。(后一种情况特别适合于ISP。)无论哪一种情况都需要你掌握同时安装并启动多个MySQL服务器的技术。
对MySQL软件进行升级。与其他软件产品一样,MySQL也在不断地更新换代。想适用漏洞更少、功能却更丰富的新版本,就必须掌握软件的升级技术。这一职责的具体内容包括:1)知道如何对MySQL软件进行升级;2)在哪些情况下不进行升级更合理;3)如何在稳定版本和测试版本之间做出选择