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 |
显示帮助消息并退出。
MySQL安装目录的路径。
核心文件的大小mysqld应该能够创建。选项值传递给ulimit - c。
请注意的
innodb_buffer_pool_in_core_file
变量可以用来减少对操作系统核心文件的大小,支持它。有关更多信息,请参见不包括缓冲池页面从核心文件。数据目录的路径。
——defaults-extra-file =
file_name
这个选项文件读取文件除了通常的选择。如果文件不存在或者否则无法访问,服务器退出一个错误。如果
file_name
解释不是一个绝对路径名,它相对于当前目录。这一定是第一个选项在命令行上使用。额外的信息和其他文件选项,看看命令行选项影响文件处理。
只使用给定的选择文件。如果文件不存在或者否则无法访问,服务器退出一个错误。如果
file_name
解释不是一个绝对路径名,它相对于当前目录。这一定是第一个选项在命令行上使用。额外的信息和其他文件选项,看看命令行选项影响文件处理。
如果mysqld_safe找不到服务器,使用这个选项显示路径名的目录服务器所在地。
此选项只接受在命令行上,不是在选择文件。使用systemd的平台上,可以指定值的价值
MYSQLD_OPTS
。看到管理与systemd MySQL服务器。将错误日志写入给定的文件。看到错误日志。
这个选项控制日志输出由时间戳的格式mysqld_safe。下面的列表描述了允许的值。任何其他值,mysqld_safe记录一个警告和使用
UTC
格式。UTC
,utc
ISO 8601 UTC格式(一样
——log_timestamps = UTC
为服务器)。这是默认的。系统
,系统
当地时间ISO 8601格式(一样
——log_timestamps =系统
为服务器)。连字符
,连字符
YY-MM-DD h: mm: ss
格式,如mysqld_safeMySQL 5.6。遗产
,遗产
YYMMDD hh: mm: ss
格式,如mysqld_safeMySQL 5.6之前。
库的名称用于内存分配的系统
malloc ()
图书馆。选项值必须是一个目录特性
,/usr/lib64
,/usr/lib/i386-linux-gnu
,或/usr/lib/x86_64-linux-gnu
。的
——malloc-lib
选择通过修改工作LD_PRELOAD
环境价值影响动态链接,使装载机找到记忆体配置库的时候mysqld运行:如果选择不给,或者没有一个值(
——malloc-lib =
),LD_PRELOAD
不修改并没有尝试使用tcmalloc
。MySQL 8.0.21之前,如果给出的选项
——malloc-lib = tcmalloc
,mysqld_safe寻找一个tcmalloc
图书馆特性
。如果tmalloc
发现,其路径名添加到开始吗LD_PRELOAD
值mysqld。如果tcmalloc
没有找到,mysqld_safe中止一个错误。MySQL 8.0.21,
tcmalloc
不是允许的值——malloc-lib
选择。如果给出的选项
——malloc-lib =
,完整路径的开始/ /一些/图书馆/路径
LD_PRELOAD
价值。如果不存在或不可读文件的完整路径点,mysqld_safe中止一个错误。的情况mysqld_safe添加一个路径名
LD_PRELOAD
,它将路径添加到任何现有价值的变量已经开始。
请注意系统管理服务器上使用systemd,mysqld_safe是不可用的。相反,通过设置指定配置库
LD_PRELOAD
在/etc/sysconfig/mysql
。Linux用户可以使用
libtcmalloc_minimal.so
图书馆在任何一个平台tcmalloc
包是安装在特性
通过添加这些行my.cnf
文件:[mysqld_safe] malloc-lib = tcmalloc
使用一个特定的
tcmalloc
图书馆,指定它的完整路径名。例子:[mysqld_safe] malloc-lib = / opt / lib / libtcmalloc_minimal.so
服务器程序的名称(在
ledir
目录),你想开始。需要这个选项如果你使用MySQL二进制发行版,但数据目录以外的二进制发行版。如果mysqld_safe找不到服务器,使用——ledir
选项显示路径名服务器所在的目录。此选项只接受在命令行上,不是在选择文件。使用systemd的平台上,可以指定值的价值
MYSQLD_OPTS
。看到管理与systemd MySQL服务器。类似于这个选项
——mysqld
选择,但你只指定后缀的服务器程序的名字。被认为是基本的名字mysqld。例如,如果您使用——mysqld-version =调试
,mysqld_safe启动mysqld-debug项目ledir
目录中。如果参数——mysqld-version
是空的,mysqld_safe使用mysqld在ledir
目录中。此选项只接受在命令行上,不是在选择文件。使用systemd的平台上,可以指定值的价值
MYSQLD_OPTS
。看到管理与systemd MySQL服务器。使用
不错的
程序服务器的调度优先级设置为给定值。不读任何选项文件。如果程序启动时失败由于阅读从一个选项文件未知选项,
——已
可以用来防止他们阅读。这一定是第一个选项在命令行上使用。额外的信息和其他文件选项,看看命令行选项影响文件处理。
文件的数量mysqld应该能够打开。选项值传递给ulimit - n。
请注意你必须开始mysqld_safe作为
根
正常运行。的路径名称mysqld应该使用的进程ID文件。
插件目录的路径名。
端口号,服务器监听TCP / IP连接时应使用。端口号必须是1024或更高,除非服务器已启动的
根
操作系统的用户。不要试图杀死流浪mysqld进程在启动时。这个选项只能在Linux上。
Unix的套接字文件,服务器监听本地连接时应使用。
——syslog
导致错误消息被发送到syslog
系统支持日志记录器程序。——skip-syslog
抑制的使用syslog
;消息被写到一个错误日志文件。当
syslog
用于错误日志,是吗daemon.err
设施/严重性是用于所有日志消息。使用这些选项来控制mysqld日志是弃用。写错误日志输出到系统日志,使用说明书错误日志记录到系统日志中。控制设备,使用服务器
log_syslog_facility
系统变量。为日志
syslog
,消息从mysqld_safe和mysqld写的标识符mysqld_safe
和mysqld
,分别。指定一个后缀的标识符,使用——syslog-tag =
,修改标识符标签
mysqld_safe -
和标签
mysqld -
。标签
使用这个选项来控制mysqld日志是弃用。使用服务器
log_syslog_tag
系统变量。看到错误日志记录到系统日志中。设置
TZ
时区环境变量设置为给定的选项值。请咨询您的操作系统文档的法律时区规范格式。10bet官方网站运行mysqld服务器的用户名称
user_name
或数字的用户IDuser_id
。(”用户”在这种情况下是指一个系统登录账户,不是一个MySQL用户授权表中列出)。
如果你执行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在其工作目录下查找
本
和数据
目录。源分布,它看起来libexec
和var
目录。如果你执行,应满足此条件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选择控制这些消息的目的地:
——日志错误=
:写错误信息到指定的错误文件。file_name
——syslog
:写错误消息syslog
系统支持日志记录器程序。——skip-syslog
:不要写错误消息syslog
。消息被写入默认的错误日志文件(
在数据目录中),或者如果一个命名文件host_name
.err——日志错误
选项。
如果这些选项,默认——skip-syslog
。
当mysqld_safe写一条消息,通知去日志目的地(syslog
或错误日志文件)stdout
。错误日志目的地和stderr
。
控制mysqld日志的mysqld_safe弃用。使用服务器的本机syslog
而不是支持。有关更多信息,请参见错误日志记录到系统日志中。