文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  如何以普通用户身份运行 MySQL

8.1.5 如何以普通用户身份运行 MySQL

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

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

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

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

  2. 更改数据库目录和文件,以便 user_name 拥有对其中文件的读写权限(您可能需要以 Unix root 用户身份执行此操作)

    $> chown -R user_name /path/to/mysql/datadir

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

    如果 MySQL 数据目录中的目录或文件是符号链接,则 chown -R 可能不会为您跟踪符号链接。如果不是,您还必须跟踪这些链接并更改它们指向的目录和文件。

  3. 以用户 user_name 身份启动服务器。另一种方法是以 Unix root 用户身份启动 mysqld 并使用 --user=user_name 选项。mysqld 启动,然后切换为以 Unix 用户 user_name 身份运行,然后再接受任何连接。

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

    [mysqld]
    user=user_name

如果您的 Unix 机器本身不安全,则应在授权表中为 MySQL root 帐户分配密码。否则,该机器上拥有登录帐户的任何用户都可以使用 mysql 客户端和 --user=root 选项运行,并执行任何操作。(无论如何,为 MySQL 帐户分配密码都是一个好主意,尤其是当服务器主机上存在其他登录帐户时。)请参阅第 2.9.4 节“保护初始 MySQL 帐户”