Mysql.server - MySQL Server启动脚本

来自泡泡学习笔记
BrainBs讨论 | 贡献2023年12月5日 (二) 09:38的版本 (创建页面,内容为“ 在Unix和类Unix系统上的MySQL分发版包含一个名为mysql.server的脚本,该脚本使用mysqld_safe来启动MySQL服务器。它可以在Linux和Solaris等使用System V风格的运行目录来启动和停止系统服务的系统上使用。macOS的MySQL启动项也使用它。 <br> mysql.server是在MySQL源代码树中使用的脚本名称。已安装的名称可能不同(例如,mysqld或mysql)。在接下来的讨论中,根据您的系…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

在Unix和类Unix系统上的MySQL分发版包含一个名为mysql.server的脚本,该脚本使用mysqld_safe来启动MySQL服务器。它可以在Linux和Solaris等使用System V风格的运行目录来启动和停止系统服务的系统上使用。macOS的MySQL启动项也使用它。


mysql.server是在MySQL源代码树中使用的脚本名称。已安装的名称可能不同(例如,mysqld或mysql)。在接下来的讨论中,根据您的系统适当调整mysql.server的名称。

注意:

对于某些Linux平台,从RPM或Debian包安装MySQL包括用于管理MySQL服务器启动和关闭的systemd支持。在这些平台上,由于不需要,因此不会安装mysql.server和mysqld_safe。


要使用mysql.server脚本手动启动或停止服务器,请从命令行使用start或stop参数调用它:

mysql.server start
mysql.server stop


mysql.server会将位置更改为MySQL安装目录,然后调用mysqld_safe。要以特定用户运行服务器,请将适当的用户选项添加到全局/etc/my.cnf选项文件的[mysqld]组中,如本节后面的示例所示。(如果您在非标准位置安装了MySQL二进制分发版,可能需要编辑mysql.server。在它运行mysqld_safe之前修改它以更改到正确的目录。如果这样做,将来升级MySQL时可能会覆盖您修改过的mysql.server版本;请制作一份可以重新安装的编辑后的版本副本。)


mysql.server stop

通过向服务器发送信号来停止服务器。您还可以通过执行mysqladmin shutdown手动停止服务器。


要在您的服务器上自动启动和停止MySQL,您必须在/etc/rc*文件中的适当位置添加启动和停止命令:

  • 如果您使用的是Linux服务器RPM包(MySQL-server-VERSION.rpm),或者使用原生Linux包安装,mysql.server脚本可能安装在/etc/init.d目录中,名称为mysqld或mysql。
  • 如果您从源代码分发或使用不自动安装mysql.server的二进制分发格式安装MySQL,您可以手动安装脚本。它可以在MySQL安装目录的支持文件目录中找到,或者在MySQL源代码树中找到。将脚本复制到/etc/init.d目录中,名称为mysql,并使其可执行:
cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql


安装脚本后,激活以在系统启动时运行所需的命令取决于您的操作系统。在Linux上,您可以使用chkconfig:

chkconfig --add mysql


在某些Linux系统上,以下命令似乎还需要用于完全启用mysql脚本:

chkconfig --level 345 mysql on


在FreeBSD上,启动脚本通常应放在/usr/local/etc/rc.d/中。将mysql.server脚本安装为/usr/local/etc/rc.d/mysql.server.sh以启用自动启动。rc(8)手册页指出,此目录中的脚本仅在其基本名称与*.sh shell文件名模式匹配时才执行。目录中存在的任何其他文件或目录都将被静默忽略。


作为上述设置的替代方案,一些操作系统还使用/etc/rc.local或/etc/init.d/boot.local在启动时启动其他服务。要使用这种方法启动MySQL,请将类似于以下命令的命令附加到适当的启动文件中:

/bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'


对于其他系统,请查阅操作系统文档以了解如何安装启动脚本。


mysql.server从选项文件的[mysql.server]和[mysqld]部分读取选项。为了向后兼容,它还读取[mysql_server]部分,但为了保持最新,您应该将这些部分重命名为[mysql.server]。

您可以在全局/etc/my.cnf文件中添加mysql.server的选项。典型的my.cnf文件可能如下所示:

[mysqld]
datadir=/usr/local/mysql/var
socket=/var/tmp/mysql.sock
port=3306
user=mysql

[mysql.server]
basedir=/usr/local/mysql


mysql.server脚本支持以下表中显示的选项。如果指定了它们,它们必须放在选项文件中,而不是命令行上。mysql.server仅支持start和stop作为命令行参数。


选项名称 描述 类型
basedir MySQL安装目录的路径 目录名
datadir MySQL数据目录的路径 目录名
pid-file 服务器应写入其进程ID的文件 文件名
service-startup-timeout 等待服务器启动的时间长度 整数