本节介绍如何在 Unix 和类 Unix 系统上启动服务器。(有关 Windows,请参见 第 2.3.3.5 节,“首次启动服务器”。) 有关可用于测试服务器是否可访问并正常工作的建议命令,请参见 第 2.9.3 节,“测试服务器”.
如果您的安装包含 mysqld_safe,请按以下方式启动 MySQL 服务器
$> bin/mysqld_safe --user=mysql &
对于使用 RPM 软件包安装了 MySQL 的 Linux 系统,服务器启动和关闭使用 systemd 而不是 mysqld_safe,并且不会安装 mysqld_safe。请参见 第 2.5.9 节,“使用 systemd 管理 MySQL 服务器”.
如果您的安装包含 systemd 支持,请按以下方式启动服务器
$> systemctl start mysqld
如果服务名称与 mysqld
不同(例如,在 SLES 系统上为 mysql
),请替换相应服务名称。
重要的是,MySQL 服务器必须使用非特权(非 root
)登录帐户运行。为了确保这一点,请以 root
身份运行 mysqld_safe,并包含 --user
选项(如所示)。否则,您应该以 mysql
身份登录后执行该程序,在这种情况下,您可以从命令中省略 --user
选项。
有关将 MySQL 作为非特权用户运行的更多说明,请参见 第 8.1.5 节,“如何将 MySQL 作为普通用户运行”.
如果命令立即失败并打印 mysqld ended
,请在错误日志中查找信息(默认情况下,错误日志是数据目录中的
文件)。host_name
.err
如果服务器无法访问启动的数据目录或读取 mysql
模式中的授权表,它将在错误日志中写入一条消息。如果您在继续执行此步骤之前未通过初始化数据目录创建授权表,或者您在没有 --user
选项的情况下运行了初始化数据目录的命令,则可能会出现此类问题。删除 data
目录并使用 --user
选项运行该命令。
如果您在启动服务器时遇到其他问题,请参见 第 2.9.2.1 节,“对启动 MySQL 服务器时遇到的问题进行故障排除”。有关 mysqld_safe 的更多信息,请参见 第 6.3.2 节,“mysqld_safe — MySQL 服务器启动脚本”。有关 systemd 支持的更多信息,请参见 第 2.5.9 节,“使用 systemd 管理 MySQL 服务器”.