在Windows平台上,能够使用普通用户账户以Windows服务方式运行服务器,
在Unix平台上,不是任何用户都能启动并运行MySQL服务器mysqld的。但是,处于安全方面的原因,应避免以Unix根用户身份运行服务器。要想更改mysqld,使之能以正常的无特权Unix用户user_name身份运行,必须采取下述步骤:
如果服务器正在运行,停止它(使用mysqladmin shutdown)。
更改数据库目录和文件,允许user_name读写其中的文件(可能需要以Unix根用户身份完成这类设置):
shell> chown -R user_name /path/to/mysql/datadir
如果未这样做,当以user_name身份运行时,服务器无法访问数据库或表。
如果MySQL数据目录下的目录或文件采用的是符号链接,还需跟踪这些链接,并更改它们指向的目录和文件。chown –R可帮助你跟踪符号链接。
以user_name身份启动服务器。如果你正在使用MySQL 3.22或更高版本,另一种可选方式是,以Unix根用户身份启动mysqld,并使用--user=user_name选项,如何以普通用户的身份运行MySQLMySQL综合》。mysqld启动,然后在接受任何连接前,切换至Unix用户user_name并以该用户身份运行。
要想在系统启动时自动以给定的用户身份启动服务器,可在服务器数据目录下的/etc/my.cnf选项文件或my.cnf选项文件的[mysqld]组中,通过增加用户选项来指定用户名。。例如:
[mysqld]
user=user_name
如果你的Unix机器本身并不安全,应在授权表中为MySQL根账户指定密码。如不然,任何在该机器上具有登录账户的用户都能使用“--user=root”选项运行mysql客户端,并执行任何操作。在任何情况下均应为MySQL账户指定密码,这是个好主意,尤其是在服务器主机上存在其他登录账户时,更是如此。