6.3.3 mysql.server - MySQL 服务器启动脚本

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

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

笔记
对于某些 Linux 平台,从 RPM 或 Debian 软件包安装 MySQL 包括 systemd 支持,用于管理 MySQL 服务器的启动和关闭。在这些平台上, mysql.server和 mysqld_safe未安装,因为它们是不必要的。有关更多信息,请参见 第 2.5.9 节“使用 systemd 管理 MySQL 服务器”。

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

mysql.server start
mysql.server stop
mysql.server将位置更改为 MySQL 安装目录,然后调用 mysqld_safe。要以某个特定用户身份运行服务器,请全局选项文件的组 user选项,如本节后面所示。(如果您在非标准位置安装了 MySQL 的二进制分发版,则可能必须编辑 mysql.server 。在运行mysqld_safe之前,请对其进行修改以将位置更改为正确的目录 。如果这样做,您的修改后的mysql.server版本[mysqld]/etc/my.cnf如果您将来升级 MySQL,可能会被覆盖;请复制一份您编辑的版本,以便重新安装。)

mysql.server stop通过向服务器发送信号来停止服务器。 您也可以通过执行mysqladmin shutdown手动停止服务器。

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

如果您使用 Linux 服务器 RPM 包 ( ) 或本机 Linux 包安装, mysql.server脚本可能安装在名为 或 的目录中。有关 Linux RPM 包的更多信息,请参见第 2.5.4 节“使用 Oracle 的 RPM 包在 Linux 上安装 MySQL”。 MySQL-server-VERSION.rpm/etc/init.dmysqldmysql

如果您从源代码分发版安装 MySQL,或者使用不自动安装mysql.server 的 二进制分发版格式安装 MySQL ,则可以手动安装该脚本。该脚本位于 support-filesMySQL 安装目录下的目录中,或位于 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) 手册页指出,此目录中的脚本只有其基本名称与 *.shshell 文件名模式匹配时才会执行。目录中存在的任何其他文件或目录都将被忽略。

作为上述设置的替代方案,某些操作系统还使用/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]。

您可以在全局文件中添加mysql.server 的选项/etc/my.cnf。典型的 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作为命令行参数。

表 6.8 mysql.server 选项文件选项

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

basedir=dir_name

MySQL 安装目录的路径。

datadir=dir_name

MySQL 数据目录的路径。

pid-file=file_name

服务器应在其中写入其进程 ID 的文件的路径名。除非给出绝对路径名来指定其他目录,否则服务器将在数据目录中创建该文件。

如果未指定此选项,mysql.server 将使用默认值 。传递给mysqld_safehost_name.pid的 PID 文件值 将覆盖 选项文件组中指定的任何值。由于 mysql.server读取 选项文件组但不读取文件 组,因此,通过在和 组中输入相同的 设置,可以确保 从mysql.server调用时mysqld_safe获得的值与手动调用时获得的值相同。 [mysqld_safe][mysqld][mysqld_safe]pid-file[mysqld_safe][mysqld]

service-startup-timeout=seconds

等待服务器启动确认的时间(以秒为单位)。如果服务器在此时间内未启动, mysql.server将退出并出现错误。默认值为 900。值为 0 表示根本不等待启动。负值表示永远等待(无超时)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值