My SQL服务器的启动和关闭
时间:2007-12-23 来源:不详 作者:迈克DB
决的。但是我们至少可以讨论如何使服务器启动和停止,以便您具备进行这两个操作的能力。
本章的说明只用于UNIX系统。假如正在运行Windows系统,可以跳过本章,因为附录A“获得和安装软件”一节中包含了所有需要的启动和关闭命令。
调用本章给出的命令
为了简洁,在大多数情况中,诸如mysqladmin、mysqldump等程序在本章中没有给出任何-h、-u或-p选项。笔者假定您将会用连接服务器所需的任何选项调用这些程序。
用无特权的用户账号运行MySQL服务器
在讨论如何启动服务器之前,考虑一下在服务器启动时应该运行哪个账号。服务器可以手工和自动启动。假如手工启动,则服务器以UNIX用户身份运行(您恰好作为该用户进行了注册)。即,假如笔者以paul进行注册并启动服务器,则它将以paul身份运行。假如用su命令将用户切换到root然后启动服务器,则服务器以root身份运行。
内容来自dedecms
但是,大多数时候可能都不会采用手工启动服务器。您很可能将安排服务器在系统引导时作为标准启动过程的一部分自动地运行。在UNIX中,该启动过程由系统以UNIX的root用户的身份执行,该过程中启动的任何进程都用root的权限运行。
应该紧记MySQL服务器启动过程的两个目标:
要服务器以某些非root的用户身份启动。通常,除非进程真的需要root访问权而mysql办不到,否则应限制任何进程的能力。
要服务器始终以同一个用户的身份运行。服务器有时作为一个用户运行而有时又作为另一个用户运行时会产生矛盾。这将导致文件和目录以不同的所有权在该数据下被创建,甚至引起服务器不能访问数据库或表。以同一个用户的身份一致地运行服务器可以避免该问题。
为了以标准的、非特权的用户身份运行数据库,可按如下步骤执行该过程:
1)选择用于运行服务器的账号。mysqld可以以任何用户身份运行,但是很明显,它只为MySQL活动创建了一个单独的账号。您也可以为MySQL专门指定一个组。笔者将调用的这些用户和组的名字命名为mysqladm和mysqlgrp。假如您使用了其他的名字,则在本书中有mysqladm和mysqlgrp的地方替换它们
假如您在自己的账号下安装了MySQL并且系统中没有特定的治理权限,则您可以在自己的ID用户下运行服务器。在这种情况下,应使用您自己的注册名和组名替代mysqladm和mysqlgrp。
织梦内容管理系统
假如您利用RPM文件在RedHatLinux下安装了MySQL,则该安装程序将在mysql名下自动创建了一个账号。应使用该名字替换mysqladm。
2)假如必要的话,可用系统常用的账号创建过程(account-creation)来创建服务器账号。这需要以root身份进行操作。
3)关闭服务器(假如它在运行)。
4)修改数据目录以及任何子目录和文件的所有权,使mysqladm用户拥有它们。例如,假如数据目录是/usr/local/var,则可按以下设置mysqladm用户的所有权:
#cd/usr/local/var移动到数据目录
#chown-rmysqladmin.mysqlgrp设置所有目录和文件的所有权
5)修改数据目录以及任何子目录和文件的许可权,使得只有mysqladm用户能够访问它们。设置该方式以避免其他人员访问是一种好得安全预防措施。假如数据目录是/usr/local/var,则可通过mysqladm用户按下列操作设置应具有的一切(您需要以root身份运行这些命令):
#cd/usr/local/var移动到数据目录
#chmod-Rgo-rwx使所有一切只对mysqladm可访问
在设置数据目录及其内容的所有权和方式时,观察符号连接。您需要跟踪符号连接并修改所指向的文件或目录的所有权和方式。假如这些连接文件所定位的目录不属于您,则这样做可能会引起麻烦,因此您必须是root用户。
上一篇:一个生成Oracle用户密码的通用小程序 下一篇:数据库转化的问题
文章评论
共有位Admini5网友发表了评论 查看完整内容