MySQL的安全性/一般保安问题如何以普通用户运行MySQL

2.5如何以普通用户运行MySQL

在Windows上,您可以使用普通用户帐户作为Windows服务运行服务器。

在Linux上,对于使用MySQL存储库或RPM包执行的安装,MySQL服务器mysqld应该由当地开始吗mysql操作系统用户。MySQL存储库中包含的init脚本不支持由其他操作系统用户启动。

在Unix(或Linux上使用tar.gzpackages), MySQL服务器mysqld可以由任何用户启动和运行。但是,您应该避免将服务器作为Unix运行用户的安全原因。改变mysqld以普通无特权Unix用户的身份运行user_name,你必须做到以下几点:

  1. 如果服务器正在运行,则停止服务器(使用mysqladmin关闭).

  2. 更改数据库目录和文件,以便user_name有权限读写其中的文件(您可能需要像Unix用户):

    $> chown -Ruser_name/ / / mysql / datadir路径

    如果不这样做,服务器在以身份运行时将无法访问数据库或表user_name

    如果MySQL数据目录中的目录或文件是符号链接,乔恩- r可能不符合符号链接。如果没有,您还必须遵循这些链接并更改它们所指向的目录和文件。

  3. 以用户身份启动服务器user_name.另一种选择是开始行动mysqld作为Unix用户和使用——用户=user_name选择。mysqld开始,然后切换到以Unix用户运行user_name在接受任何连接之前。

  4. 若要在系统启动时以给定用户自动启动服务器,请通过添加用户选项。(mysqld)一组/etc/my.cnf选项文件或my.cnf服务器数据目录中的选项文件。例如:

    (mysqld)用户=user_name

如果您的Unix机器本身不安全,您应该为MySQL分配密码拨款表中的账户。否则,在该计算机上具有登录帐户的任何用户都可以运行mysql拥有——用户=根选项,执行任意操作。(在任何情况下为MySQL帐户分配密码都是一个好主意,但当服务器主机上存在其他登录帐户时尤其如此。)看到第3.4节,“保护初始MySQL帐户”