如何以普通用户身份运行MySQL
在Windows上,您可以使用普通用户帐户将服务器作为Windows服务运行。

在Linux上,对于使用MySQL存储库或RPM软件包执行的安装,MySQL服务器mysqld应该由本地mysql操作系统用户启动。MySQL存储库中包含的初始化脚本不支持由另一个操作系统用户启动。

在Unix上(或Linux使用tar.gz软件包执行安装 ),MySQL服务器 mysqld可以由任何用户启动和运行。但是,root出于安全原因,应避免以Unix 用户身份运行服务器 。要将mysqld更改 为以普通非特权Unix用户身份运行user_name,您必须执行以下操作:

如果服务器正在运行,请停止它(使用mysqladmin shutdown)。

更改数据库目录和文件,以使其 user_name具有读取和写入文件的特权(您可能需要以Unix root用户身份执行此 操作):

shell> chown -R user_name /path/to/mysql/datadir
如果不执行此操作,则服务器以身份运行时将无法访问数据库或表 user_name。

如果MySQL数据目录中的目录或文件是符号链接,chown -R那么您可能不跟随符号链接。如果没有,您还需要跟随这些链接并更改它们指向的目录和文件。

以用户身份启动服务器user_name。另一种选择是以Unix 用户身份启动mysqldroot并使用该 选项。mysqld启动,然后切换为以Unix用户身份运行,然后接受任何连接。 --user=user_nameuser_name

要在系统启动时自动以给定用户身份启动服务器,请通过将user选项添加到服务器数据目录[mysqld]中的/etc/my.cnf选项文件或 my.cnf选项文件组中 来 指定用户名 。例如:

[mysqld]
user=user_name

如果您的Unix机器本身不受保护,则应root在授权表中为MySQL 帐户分配密码。否则,该计算机上具有登录帐户的任何用户都可以运行带有选项的mysql客户端 --user=root并执行任何操作。(在任何情况下,最好将密码分配给MySQL帐户,但尤其是在服务器主机上存在其他登录帐户时,尤其如此。)请参见 第2.10.4节“保护初始MySQL帐户”。