Mysql.server:修订间差异

来自泡泡学习笔记
跳到导航 跳到搜索
无编辑摘要
无编辑摘要
 
第1行: 第1行:
MySQL在Unix与类Unix系统上的发布需要使用一个名为mysql.server的脚本。这个脚本使用[[mysqld_safe]]来启动MySQL服务器。所有使用SystemV系统风格运行目录的系统都可以使用该脚本。macOS系统也可以使用该脚本。
MySQL在Unix与类Unix系统上的发布需要使用一个名为mysql.server的脚本。这个脚本使用[[mysqld_safe]]来启动MySQL服务器。所有使用System V系统风格运行目录的系统都可以使用该脚本。macOS系统也可以使用该脚本。




第16行: 第16行:
mysql.server在命令行中只支持start和stop参数。对于其他参数需要通过选项文件来调用。
mysql.server在命令行中只支持start和stop参数。对于其他参数需要通过选项文件来调用。


[[category:mysql]]
 
mysql.server是MySQL源代码树中使用的脚本名称。安装后的名称可能不同(例如,mysqld或mysql)。在以下讨论中,请根据您的系统适当调整mysql.server的名称。
 
注意:
对于某些Linux平台,从RPM或Debian软件包安装MySQL时,包含有用于管理MySQL服务器启动和关闭的systemd支持。在这些平台上,不安装mysql.server和mysqld_safe,因为它们是不必要的。
 
 
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*文件的适当位置添加start和stop命令:
 
*如果使用Linux服务器RPM软件包(MySQL-server-VERSION.rpm)或本地Linux软件包安装,则mysql.server脚本可能已安装在/etc/init.d目录中,并命名为mysqld或mysql。
*如果您从源码分发或使用不自动安装mysql.server的二进制分发格式安装MySQL,您可以手动安装该脚本。它可以在MySQL安装目录下的support-files目录中找到,或者在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=dir_name
 
MySQL安装目录的路径。
 
 
*datadir=dir_name
 
MySQL数据目录的路径。
 
 
*pid-file=file_name
 
服务器应在其中写入其进程ID的文件的路径名。服务器会在数据目录中创建该文件,除非给出绝对路径名以指定不同的目录。
 
如果没有给出此选项,mysql.server将使用默认值host_name.pid。传递给mysqld_safe的PID文件值会覆盖在[mysqld_safe]选项文件组中指定的任何值。因为mysql.server读取[mysqld]选项文件组而不读取[mysqld_safe]组,您可以通过在[mysqld_safe]和[mysqld]两个组中都设置相同的pid-file来确保在从mysql.server调用时与手动调用时mysqld_safe获取相同的值。
 
 
*service-startup-timeout=seconds
 
等待服务器启动确认的时间(以秒为单位)。如果服务器在此时间内未能启动,mysql.server将退出并显示错误。默认值为900。设置为0表示完全不等待启动。负值表示无限等待(没有超时)。

2023年7月4日 (二) 13:27的最新版本

MySQL在Unix与类Unix系统上的发布需要使用一个名为mysql.server的脚本。这个脚本使用mysqld_safe来启动MySQL服务器。所有使用System V系统风格运行目录的系统都可以使用该脚本。macOS系统也可以使用该脚本。


使用mysql.server人工启停服务器时,需要在命令行中指出start或stop参数。

mysql.server start
mysql.server stop


mysql.server stop 使用信号来停止服务器。可以使用 mysqladmin shutdown 来人工停止服务器。


mysql.server在命令行中只支持start和stop参数。对于其他参数需要通过选项文件来调用。


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

注意:
对于某些Linux平台,从RPM或Debian软件包安装MySQL时,包含有用于管理MySQL服务器启动和关闭的systemd支持。在这些平台上,不安装mysql.server和mysqld_safe,因为它们是不必要的。


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*文件的适当位置添加start和stop命令:

  • 如果使用Linux服务器RPM软件包(MySQL-server-VERSION.rpm)或本地Linux软件包安装,则mysql.server脚本可能已安装在/etc/init.d目录中,并命名为mysqld或mysql。
  • 如果您从源码分发或使用不自动安装mysql.server的二进制分发格式安装MySQL,您可以手动安装该脚本。它可以在MySQL安装目录下的support-files目录中找到,或者在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=dir_name

MySQL安装目录的路径。


  • datadir=dir_name

MySQL数据目录的路径。


  • pid-file=file_name

服务器应在其中写入其进程ID的文件的路径名。服务器会在数据目录中创建该文件,除非给出绝对路径名以指定不同的目录。

如果没有给出此选项,mysql.server将使用默认值host_name.pid。传递给mysqld_safe的PID文件值会覆盖在[mysqld_safe]选项文件组中指定的任何值。因为mysql.server读取[mysqld]选项文件组而不读取[mysqld_safe]组,您可以通过在[mysqld_safe]和[mysqld]两个组中都设置相同的pid-file来确保在从mysql.server调用时与手动调用时mysqld_safe获取相同的值。


  • service-startup-timeout=seconds

等待服务器启动确认的时间(以秒为单位)。如果服务器在此时间内未能启动,mysql.server将退出并显示错误。默认值为900。设置为0表示完全不等待启动。负值表示无限等待(没有超时)。