2.9.2 启动服务器
本节描述了在 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
(例如,mysql
在 SLES 系统上)。
重要的是,MySQL 服务器必须使用非特权(非 root
)登录账户运行。为了确保这点,请使用mysqld_safe 作为 root
并包括--user
选项,否则,您可以在 mysql
账户下执行程序,并且可以省略--user
选项。
有关以非特权用户运行 MySQL 的详细信息,请参阅第 8.1.5 节,“以非特权用户运行 MySQL”。
如果命令立即失败并打印 mysqld ended
,请查找错误日志(默认情况下是数据目录中的
文件)。host_name
.err
如果服务器无法访问数据目录或读取mysql
schema中的授权表,它将将错误信息写入错误日志。这种问题可能会出现,如果您在初始化数据目录前忘记创建授权表,或者在初始化数据目录命令中没有使用--user
选项。删除data
目录,并使用--user
选项重新运行命令。
如果您遇到其他启动服务器的问题,请查看第2.9.2.1节,“Troubleshooting Problems Starting the MySQL Server”。关于mysqld_safe的更多信息,请查看第6.3.2节,“mysqld_safe — MySQL Server Startup Script”。关于systemd支持的更多信息,请查看第2.5.9节,“Managing MySQL Server with systemd”。