6.3 MySql服务器和服务器启动程序

6.3.2 mysqld_safe — MySQL Server Startup Script
mysqld_safe 是一种推荐的方式 MysqDD x上的服务器。 mysqld_safe 添加一些安全特性,例如在发生错误时重新启动服务器,并将运行时信息记录到错误日志中。稍后在本节中给出了错误日志记录的描述.

注意事项
对于一些Linux平台来说,使用RPM或DEBAN包的mysql安装包括管理mysql服务器启动和关闭的系统支持。在这些平台上, mysqld_safe 没有安装,因为它是不必要的。详情请参阅 第2.5.9节,"使用系统管理mysql服务器" .

不使用 mysqld_safe 在使用系统D进行服务器管理的平台上 [mysqld_safe] 或 [safe_mysqld] 选项文件中的部分不支持,可能导致意外行为。

mysqld_safe 尝试启动一个名为 MysqDD .要覆盖默认行为并显式地指定要运行的服务器的名称,请指定--mysqld 或--mysqld-version 选择 mysqld_safe .你也可以使用 --ledir 指示目录的位置 mysqld_safe 去找服务器。

许多选择 mysqld_safe 同样的选择 MysqDD .看 第7.1.7节,"服务器命令选项" .

不知道的选择 mysqld_safe 传给 MysqDD 如果它们是在命令行中指定的,但是如果它们是在 [mysqld_safe] 一组选项文件。看 第6.2.2.2节,"使用选项文件" .

mysqld_safe 阅读所有选择 [mysqld] ,[server] ,以及 [mysqld_safe] 选项文件中的部分。例如,如果你指定[mysqld] 像这样的区域, mysqld_safe 找到并使用 --log-error 备选办法:

[mysqld]
log-error=error.log
对于向后兼容性, mysqld_safe 同时阅读[safe_mysqld] 但现在你应该把这些部分重新命名为 [mysqld_safe] .

mysqld_safe 如下表所述,在命令行和选项文件中接受选项。有关mysql程序使用的选项文件的信息,请参阅 第6.2.2.2节,"使用选项文件" .

表6.7各种备选办法

选项名称    描述
--basedir    到mysql安装目录的路径
--core-file-size    应该能够创建的核心文件的大小
--datadir    数据目录路径
--defaults-extra-file    除了通常的选项文件外,还可以读取指定选项文件
--defaults-file    只读取指定选项文件
--help    显示帮助信息和出口
--ledir    服务器所在目录路径
--log-error    将错误日志写入命名文件
--malloc-lib    可供选择的马洛克图书馆
--mysqld    要启动的服务器程序名称(在"列迪尔"目录中)
--mysqld-safe-log-timestamps    日志记录的时间标记格式
--mysqld-version    服务器程序名称的后缀
--nice    使用好的程序来设置服务器调度优先级
--no-defaults    阅读无选项文件
--open-files-limit    应该能够打开的文件数量MysqDH
--pid-file    服务器进程ID文件的路径名称
--plugin-dir    安装插件的目录
--port    用于监听tml/IP连接的端口号
--skip-kill-mysqld    不要试图杀死迷途的MysqDD进程
--skip-syslog    不要将错误消息写入系统日志;使用错误日志文件
--socket    用于监听UNIX套接字连接的套接字文件
--syslog    将错误信息写入系统日志
--syslog-tag    为系统日志编写的邮件添加后缀
--timezone    将TZ时差环境变量设置为指定值
--user    作为拥有名称用户名或数字用户名用户名的用户

--help

命令行格式    --help
显示一个帮助信息和出口。

--basedir=dir_name

命令行格式    --basedir=dir_name
类型    目录名称
通往mysql安装目录的路径。

--core-file-size=size

命令行格式    --core-file-size=size
类型    弦
核心文件的大小 MysqDD 才能创造。期权值传递到 超限-C .

注意事项
… innodb_buffer_pool_in_core_file 变量可以用来减小支持它的操作系统的核心文件的大小。详情请参阅 第17.8.3.7节,"从核心文件中排除或包括缓冲池页面" .

--datadir=dir_name

命令行格式    --datadir=dir_name
类型    目录名称
数据目录的路径。

--defaults-extra-file=file_name

命令行格式    --defaults-extra-file=file_name
类型    文件名
除了通常的选项文件外,请阅读此选项文件.如果文件不存在或无法访问,则服务器退出时出错。如果 file_name 不是绝对路径名,它是相对于当前目录进行解释的.如果使用命令行,这必须是第一个选项。

有关此选项和其他选择文件选项的更多信息,请参阅 第6.2.2.3节,"影响选择文件处理的命令行选项" .

--defaults-file=file_name

命令行格式    --defaults-file=file_name
类型    文件名
只使用给定的选项文件。如果文件不存在或无法访问,则服务器退出时出错。如果file_name 不是绝对路径名,它是相对于当前目录进行解释的.如果使用命令行,这必须是第一个选项。

有关此选项和其他选择文件选项的更多信息,请参阅 第6.2.2.3节,"影响选择文件处理的命令行选项" .

--ledir=dir_name

命令行格式    --ledir=dir_name
类型    目录名称
如果 mysqld_safe 无法找到服务器,请使用此选项指示到服务器所在目录的路径名。

此选项只在命令行上接受,在选项文件中不接受。在使用系统D的平台上,该值可指定为MYSQLD_OPTS .看 第2.5.9节,"使用系统管理mysql服务器" .

--log-error=file_name

命令行格式    --log-error=file_name
类型    文件名
将错误日志写入给定文件.看 第7.4.2节,"错误日志" .

--mysqld-safe-log-timestamps

命令行格式    --mysqld-safe-log-timestamps=type
类型    枚举
默认值    utc
有效值    
system

hyphen

legacy

此选项控制日志输出中时间戳的格式。 mysqld_safe .下面的列表描述了允许值。任何其他价值, mysqld_safe 记录警告和使用 UTC 格式。

UTC,utc

ISO 8601 UTC format (same as --log_timestamps=UTC for the server). This is the default.

SYSTEM, system

ISO 8601 local time format (same as --log_timestamps=SYSTEM for the server).

HYPHEN, hyphen

YY-MM-DD h:mm:ss format, as in mysqld_safe for MySQL 5.6.

LEGACY, legacy

YYMMDD hh:mm:ss format, as in mysqld_safe prior to MySQL 5.6.

--malloc-lib=[lib_name]

Command-Line Format    --malloc-lib=[lib-name]
Type    String
The name of the library to use for memory allocation instead of the system malloc() library. The option value must be one of the directories /usr/lib, /usr/lib64, /usr/lib/i386-linux-gnu, or /usr/lib/x86_64-linux-gnu.

…--malloc-lib 期权通过修改LD_PRELOAD 影响动态链接的环境值,使加载程序能够在 MysqDD 跑:

如果没有给出期权,或没有一个值(--malloc-lib= ), LD_PRELOAD 没有修改,也没有尝试使用tcmalloc .

在mysql8.0.21之前,如果该选项是 --malloc-lib=tcmalloc , mysqld_safe 找一个 tcmalloc 图书馆 /usr/lib .如果 tmalloc 它的路径名称被添加到 LD_PRELOAD 价值 MysqDD .如果 tcmalloc 却没有找到, mysqld_safe 有错误的堕胎。

截至我的数据8.0.21,tcmalloc 是不允许的 --malloc-lib 选择。

如果选择权是 ,这条完整的道路是在 价值。如果完整的路径指向一个不存在或不可读的文件, mysqld_safe 有错误的堕胎。 --malloc-lib=/path/to/some/libraryLD_PRELOAD

对于那些 mysqld_safe 将路径名添加到LD_PRELOAD ,它将路径添加到变量已经拥有的任何现有值的开头。

注意事项
在使用系统管理服务器的系统上, mysqld_safe 是不可用的。相反,通过设置指定分配库 LD_PRELOAD 在…中 /etc/sysconfig/mysql .

Linux用户可以使用 libtcmalloc_minimal.so 任何平台的图书馆tcmalloc 包裹安装在/usr/lib 把这些线条加到my.cnf 文件:

[mysqld_safe]
malloc-lib=tcmalloc
使用特定的tcmalloc 库,指定其完整的路径名称。例子:

[mysqld_safe]
malloc-lib=/opt/lib/libtcmalloc_minimal.so
--mysqld=prog_name

命令行格式    --mysqld=file_name
类型    文件名
服务器程式名称(在 ledir 你想开始。如果您使用mysq2二进制分布,但数据目录在二进制分布之外,则需要此选项。如果 mysqld_safe 找不到服务器,请使用 --ledir 选项可以指示服务器所在目录的路径名.

此选项只在命令行上接受,在选项文件中不接受。在使用系统D的平台上,该值可指定为MYSQLD_OPTS .看 第2.5.9节,"使用系统管理mysql服务器" .

--mysqld-version=suffix

命令行格式    --mysqld-version=suffix
类型    弦
这个办法类似于 --mysqld 选项,但是您只为服务器程序名指定后缀。基本名称假定为 MysqDD .例如,如果你使用 --mysqld-version=debug , mysqld_safe 开始 Mysqld-调试 计划 ledir 目录。如果论点是 --mysqld-version 是空的, mysqld_safe 使用 MysqDD 在…中ledir 目录。

此选项只在命令行上接受,在选项文件中不接受。在使用系统D的平台上,该值可指定为MYSQLD_OPTS .看 第2.5.9节,"使用系统管理mysql服务器" .

--nice=priority

命令行格式    --nice=priority
类型    数字的
使用nice 程序设置服务器对给定值的调度优先级。

--no-defaults

命令行格式    --no-defaults
类型    弦
不要读取任何选项文件。如果程序启动失败是因为从一个选项文件读取未知选项, --no-defaults 会被用来阻止他们被阅读。如果使用命令行,这必须是第一个选项。

有关此选项和其他选择文件选项的更多信息,请参阅 第6.2.2.3节,"影响选择文件处理的命令行选项" .

--open-files-limit=count

命令行格式    --open-files-limit=count
类型    弦
文件的数量 MysqDD 就可以打开了。期权值传递到 用限-N .

注意事项
你必须开始 mysqld_safe 作为 root 才能正常运作。

--pid-file=file_name

命令行格式    --pid-file=file_name
类型    文件名
道路的名称 MysqDD 应该使用它的进程ID文件。

--plugin-dir=dir_name

命令行格式    --plugin-dir=dir_name
类型    目录名称
插件目录的路径名称。

--port=port_num

命令行格式    --port=number
类型    数字的
服务器在监听TP/IP连接时应该使用的端口号。端口号必须是1024或更高,除非服务器是由 root 操作系统用户。

--skip-kill-mysqld

命令行格式    --skip-kill-mysqld
别想杀 MysqDD 启动过程。这个选项只适用于Linux。

--socket=path

命令行格式    --socket=file_name
类型    文件名
服务器在监听本地连接时应该使用的UNIX套接字文件。

--syslog, --skip-syslog

命令行格式    --syslog
反对    是的
命令行格式    --skip-syslog
反对    是的
--syslog 使错误消息发送到syslog 关于支持 伐木工人 程序。 --skip-syslog 禁止使用 syslog ;信息写入错误日志文件。

何时syslog 是用来记录错误的daemon.err 所有日志消息都使用设施/严重性。

使用这些选项来控制 MysqDD 伐木不受欢迎。若要将错误日志输出写入系统日志,请按 第7.4.2.8节,"系统日志的错误记录" .为了控制设备,使用服务器 log_syslog_facility 系统变量。

--syslog-tag=tag

命令行格式    --syslog-tag=tag
反对    是的
登录到syslog ,来自 mysqld_safe 和 MysqDD 是以 mysqld_safe 和 mysqld 分别。要指定标识符的后缀,请使用 把标识符修改为 和 . --syslog-tag=tagmysqld_safe-tagmysqld-tag

使用这个选项来控制 MysqDD 伐木不受欢迎。使用服务器 log_syslog_tag 系统变量。看 第7.4.2.8节,"系统日志的错误记录" .

--timezone=timezone

命令行格式    --timezone=timezone
类型    弦
设置TZ 指定的选项值中的时差环境变量.请查阅您的操作系统文档,了解合法的时差规格格式.

--user={user_name|user_id}

命令行格式    --user={user_name|user_id}
类型    弦
类型    数字的
运行 MysqDD 服务器作为拥有名称的用户user_name 或数字用户标识user_id . ( “ 使用者 ” 在此上下文中,指的是一个系统登录帐户,而不是列在赠款表中的mysql用户。)

如果你执行 mysqld_safe 与… --defaults-file 或 --defaults-extra-file 选项命名选项文件,该选项必须是命令行上的第一个选项,否则将不使用该选项文件。例如,此命令不使用指定的选项文件:

mysql> mysqld_safe --port=port_num --defaults-file=file_name
相反,请使用以下命令:

mysql> mysqld_safe --defaults-file=file_name --port=port_num

 MysqLD_安全 编写脚本的目的是使其通常能够启动一个从mysql的源或二进制分布中安装的服务器,尽管这些类型的分布通常在稍有不同的位置安装服务器。(见 第2.1.5节,"安装布局" .) MysqLD_安全 预期下列条件之一是真实的:

  • 服务器和数据库可以相对于工作目录找到 MysqLD_安全 已被调用)。对于二进制分布, MysqLD_安全 在其工作目录下bin 和 data 目录。对于源分布,它寻找libexec 和 var 目录。如果你执行了 MysqLD_安全 你的mysql安装目录(例如, /usr/local/mysql 二进制分布)。

  • 如果无法找到与工作目录相关的服务器和数据库, MysqLD_安全 尝试用绝对路径名定位它们。典型的地点是 /usr/local/libexec 和 /usr/local/var .实际位置是根据构建时配置到分布中的值确定的。如果在配置时指定的位置上安装了mysql,那么它们应该是正确的。

因为 MysqLD_安全 尝试根据自己的工作目录找到服务器和数据库,可以在任何地方安装mysql的二进制分布,只要您运行 MysqLD_安全 来自mysql安装目录:

<span style="background-color:#ffffff"><span style="color:#555555"><span style="background-color:#f8f8f8"><span style="color:#000000"><code class="language-terminal">cd <em>mysql_installation_directory</em>
bin/mysqld_safe &</code></span></span></span></span>

如果 MysqLD_安全 失败,即使从mysql安装目录调用,也要指定 --ledir 和 --datadir 显示服务器和数据库位于系统中的目录的选项。

MysqLD_安全 尝试使用 睡眠 和 约会日期 系统实用程序,以确定它尝试启动的每秒次数。如果这些工具存在,每秒的启动量大于5, MysqLD_安全 在重新开始前等待1秒钟。这是为了防止在重复故障时过多使用CPU。(虫#11761530,虫#54035)

当你使用 MysqLD_安全 开始 MysqDD , MysqLD_安全 安排来自自身和来自自身的错误(和通知)消息 MysqDD 去同一个目的地。

有几个 MysqLD_安全 控制这些信息的目的地的备选办法:

  • --log-error=file_name:将错误信息写入命名错误文件。

  • --syslog :将错误信息写入syslog 关于支持 伐木工人 程序。

  • --skip-syslog :不要将错误讯息写入syslog .将消息写入默认错误日志文件(host_name.err (在数据目录中),或到指定的文件,如果 --log-error 给出了备选办法。

如果没有提供这些选项,默认情况是 --skip-syslog .

何时 MysqLD_安全 写一条消息,通知到日志目的地(syslog 或错误日志文件)及stdout .错误到达日志记录目的地stderr .

注意事项

控制的 MysqDD 从 MysqLD_安全 反对。使用服务器的本地语言syslog 代之以支持。详情请参阅 第7.4.2.8节,"系统日志的错误记录" .

.

6.3.1 MysqId----mySQL服务器

MysqId 也称为mysql服务器,是一个单一的多线程程序,在mysql安装中完成大部分工作。它不会产生额外的进程。mysql服务器管理对包含数据库和表的mysql数据目录的访问。数据目录也是日志文件和状态文件等其他信息的默认位置。

注意事项
一些安装包包含名为服务器的调试版本 Mysqld-调试 .以这个版本代替 MysqId 有关调试支持、内存分配检查和跟踪文件支持(参见 第7.9.1.2节,"创建跟踪文件" ).

当mysql服务器启动时,它监听来自客户端程序的网络连接,并代表这些客户端管理对数据库的访问。

… MysqId 程序有许多可在启动时指定的选项.要获得完整的选项列表,请运行此命令:

mysqld --verbose --help
Mysql服务器还拥有一组系统变量,这些变量在运行时影响其运行。系统变量可以在服务器启动时设置,其中许多变量可以在运行时更改以实现动态服务器重新配置。mysql服务器还有一组状态变量,可以提供有关其操作的信息。您可以监控这些状态变量来访问运行时性能特性。

有关mysql服务器命令选项、系统变量和状态变量的完整描述,请参阅 Section 7.1, “The MySQL Server” .有关安装mysql和设置初始配置的信息,请参阅 Chapter 2, 安装mysql .

MysqDD 也称为mysql服务器,是一个单一的多线程程序,在mysql安装中完成大部分工作。它不会产生额外的进程。mysql服务器管理对包含数据库和表的mysql数据目录的访问。数据目录也是日志文件和状态文件等其他信息的默认位置。

注意事项
一些安装包包含名为服务器的调试版本 Mysqld-调试 .以这个版本代替 MysqDD 有关调试支持、内存分配检查和跟踪文件支持(参见 第7.9.1.2节,"创建跟踪文件" ).

当mysql服务器启动时,它监听来自客户端程序的网络连接,并代表这些客户端管理对数据库的访问。

… MysqDD 程序有许多可在启动时指定的选项.要获得完整的选项列表,请运行此命令:

mysqld --verbose --help
Mysql服务器还拥有一组系统变量,这些变量在运行时影响其运行。系统变量可以在服务器启动时设置,其中许多变量可以在运行时更改以实现动态服务器重新配置。mysql服务器还有一组状态变量,可以提供有关其操作的信息。您可以监控这些状态变量来访问运行时性能特性。

有关mysql服务器命令选项、系统变量和状态变量的完整描述,请参阅 Section 7.1, “The MySQL Server” .有关安装mysql和设置初始配置的信息,请参阅 Chapter 2, 安装mysql .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值