启动和停止MySQL/服务器和服务器启动程序/ mysqld_safe - MySQL服务器启动脚本

4.2 mysqld_safe - MySQL服务器启动脚本

mysqld_safe是推荐的方式开始新一mysqld在Unix服务器。mysqld_safe增加了一些安全特性,比如重新启动服务器时出现错误和日志记录错误日志的运行时信息。错误日志的描述之后,在本节中给出。

请注意

对于一些Linux平台上,MySQL安装RPM或Debian软件包管理包括systemd支持MySQL服务器启动和关闭。在这些平台上,mysqld_safe没有安装,因为它是不必要的。有关更多信息,请参见管理与systemd MySQL服务器

一个停用的含义mysqld_safe服务器管理平台使用systemd使用(mysqld_safe)(safe_mysqld)部分选项文件不支持,可能会导致意想不到的行为。

mysqld_safe试图启动一个可执行的命名mysqld。覆盖默认行为,明确指定服务器的名称你想运行,指定一个——mysqld——mysqld-version选项mysqld_safe。您还可以使用——ledir来表示的目录mysqld_safe应该为服务器。

许多选项mysqld_safe一样的选择吗mysqld。看到服务器命令选项

选择未知mysqld_safe被传递给mysqld如果在命令行上指定,但忽略了如果他们中指定(mysqld_safe)组一个选项文件。看到使用选项文件

mysqld_safe读取的所有选项(mysqld),(服务器),(mysqld_safe)部分选项文件中。例如,如果您指定一个(mysqld)这样的部分,mysqld_safe发现并使用——日志错误选择:

(mysqld)日志错误= error.log

为了向后兼容,mysqld_safe还读(safe_mysqld)部分,但当前你应该重命名这些部分(mysqld_safe)

mysqld_safe接受在命令行选项,选择文件,如下表所述。信息选项文件使用MySQL程序,看看使用选项文件

表4.1 mysqld_safe选项

选项名称 描述
——basedir MySQL安装目录路径
——核心文件大小 核心文件大小,mysqld应该能够创建
——datadir 数据目录路径
——defaults-extra-file 读文件除了常规选项文件命名选项
——defaults-file 只读文件命名选项
——帮助 显示帮助消息并退出
——ledir 路径目录服务器所在
——日志错误 错误日志写入指定的文件
——malloc-lib 选择用于mysqld malloc图书馆
——mysqld 名称服务器程序开始(在ledir目录)
——mysqld-safe-log-timestamps 时间戳格式记录
——mysqld-version 后缀为服务器程序的名字
——好 使用好的程序设置服务器调度优先级
——已 阅读没有选择文件
——open-files-limit mysqld应该能打开的文件数量
——pid文件 服务器进程ID文件的路径名
——plugin-dir 目录插件安装
——港口 端口号的侦听TCP / IP连接
——skip-kill-mysqld 不要试图杀死流浪mysqld流程
——skip-syslog syslog不写错误消息;使用错误日志文件
——套接字 套接字文件Unix的监听套接字连接
——syslog 给syslog写错误消息
——syslog-tag 标签后缀信息写入syslog
——时区 TZ时区设置环境变量指定值
——用户 运行mysqld user_id用户名称user_name或数字用户ID

如果你执行mysqld_safe——defaults-file——defaults-extra-file选项名称选择文件,必须在命令行上给出的第一个不使用或选择文件。例如,这个命令不使用指定的选项文件:

mysql > mysqld_safe——端口=port_num——defaults-file =file_name

相反,使用以下命令:

mysql > mysqld_safe——defaults-file =file_name——港口=port_num

mysqld_safe脚本编写,服务器通常可以从源代码或二进制安装MySQL的分布,即使这些类型的分布通常安装服务器在不同的位置。(见安装布局。)mysqld_safe希望是真实的下列条件之一:

  • 服务器和数据库可以找到相对于工作目录(目录中mysqld_safe调用)。对于二进制发行版,mysqld_safe在其工作目录下查找数据目录。源分布,它看起来libexecvar目录。如果你执行,应满足此条件mysqld_safe从你的MySQL安装目录(例如,/usr/local/mysql二进制发行版)。

  • 如果服务器和数据库无法找到相对于工作目录,mysqld_safe试图找到他们的绝对路径名。典型的位置是/usr/local/libexec/usr/local/var。实际的位置确定从配置到的值分布在当时。他们应该是正确的如果MySQL在配置时安装在指定的位置。

因为mysqld_safe试图找到服务器和数据库相对于自己的工作目录,您可以安装MySQL的二进制发行版在任何地方,只要你跑mysqld_safe从MySQL安装目录:

cdmysql_installation_directorybin / mysqld_safe &

如果mysqld_safe失败,即使从MySQL安装目录,调用指定的——ledir——datadir选择显示的目录服务器和数据库位于您的系统。

mysqld_safe尝试使用睡眠日期系统实用程序来确定每秒多少次尝试开始。如果这些公用事业存在和试图开始每秒大于5,mysqld_safe等待1秒前重新开始。这是为了防止过多的CPU使用率的一再失败。(错误# 11761530,错误# 54035)

当你使用mysqld_safe开始mysqld,mysqld_safe安排错误(注意)本身和消息mysqld去同一个目的地。

有几个mysqld_safe选择控制这些消息的目的地:

如果这些选项,默认——skip-syslog

mysqld_safe写一条消息,通知去日志目的地(syslog或错误日志文件)stdout。错误日志目的地和stderr

请注意

控制mysqld日志的mysqld_safe弃用。使用服务器的本机syslog而不是支持。有关更多信息,请参见错误日志记录到系统日志中