4.3.2配置文件选项

开始的时候,MySQL路由器读取列表配置文件构成了路由器的配置。至少有一个配置文件是必需的。

MySQL路由器从配置文件读取选项相似,传统的INI文件格式,与部分和选项。MySQL路由器开始时这些指定的选项设置。文件语法信息,请参阅4.1节,“配置文件语法”

选项定义下部分,决定选择的意义。例如,用户(默认)部分是指路由器运行的系统用户,而用户(metadata_cache)部分指的是MySQL用户访问元数据。

以下各表由部分,总结MySQL路由器选择MySQL路由器配置文件中定义。这些选项的详细信息,如描述和允许的值,记录下这些表。

一般选择

表4.7(默认)

选项名称 描述 类型
config_folder 配置文件路径 字符串
connect_timeout 之前的秒数连接尝试被认为是一个元数据服务器超时 整数
keyring_path 密匙环路径文件 字符串
logging_folder 路由器日志路径 字符串
master_key_path 主keyring文件路径 字符串
master-key-reader 脚本返回主密钥发送到STDOUT 字符串
master-key-writer 脚本,该脚本从STDIN中读取主密钥 字符串
pid_file PID文件存储位置 字符串
plugin_folder 路径路由器插件 字符串
runtime_folder 运行时文件的路径 字符串
日志记录方法(s)接收配置日志数据 字符串
thread_stack_size 大小KB的内存分配给每一个线程堆栈 整数
用户 系统用户路由器运行 字符串

路由选择

表4.8(路由)

选项名称 描述 类型
bind_address 路由器地址绑定,也使用bind_port如果还没有定义一个端口 字符串
bind_port bind_address所使用的缺省端口 整数
client_connect_timeout 最大的秒数从MySQL服务器接收数据包 整数
client_ssl_cipher 客户端和MySQL路由器之间允许哪些密码,默认为一个安全的SSL密码列表吗 字符串
client_ssl_curves 允许哪些曲线之间的客户端和MySQL路由器,默认为一个安全的SSL列表曲线 字符串
client_ssl_dh_params DH参数文件的文件名,不是默认设置 字符串
client_ssl_mode 控制如果从客户机连接到MySQL路由器必须加密,如果不设置默认为首选 字符串
connect_timeout 的秒数,直到连接尝试到一个MySQL服务器超时 整数
目的地 路由的目的地是一个以逗号分隔的MySQL服务器,或元数据缓存的定义 字符串
dynamic_state 路径生成的JSON文件用来跟踪和储存活动MySQL InnoDB集群元数据服务器地址 字符串
max_connect_errors 最大数量的MySQL服务器连接失败之前放弃 整数
max_connections 最大连接数分配给一个MySQL服务器路由的目的地 整数
模式 路由模式,路由器选择目的地MySQL服务器 字符串
net_buffer_length 设置net_buffer_length 整数
协议 协议连接到MySQL服务器 字符串
read_timeout 之前的秒数读取操作被认为是一个元数据服务器超时 整数
routing_strategy 路由策略(可选),路由器选择目的地MySQL服务器 字符串
server_ssl_cipher SSL服务器密码为 字符串
server_ssl_curves SSL曲线为服务器 字符串
server_ssl_mode SSL服务器模式 字符串
server_ssl_verify SSL验证服务器 字符串
套接字 Unix域套接字文件路径 字符串

元数据缓存选项

表4.9 [metadata_cache]

选项名称 描述 类型
auth_cache_refresh_interval 时间间隔auth-cache刷新尝试 数字
auth_cache_ttl 如果不刷新时间直到缓存变得无效 数字
bootstrap_server_addresses MySQL服务器的元数据,以逗号分隔 字符串
cluster_type 对象的路由器是引导 字符串
metadata_cluster InnoDB集群名称 字符串
router_id 路由器ID 整数
ssl_mode SSL连接方式连接到元数据服务器,如果不设置默认为首选 字符串
ttl 时间,以秒为单位 整数
use_gr_notifications 组复制通知行为 整数
用户 MySQL用户访问MySQL服务器的元数据模式 字符串

日志记录选项

表4.10(日志)

选项名称 描述 类型
目的地 设备日志名称;有选择地使用[consolelog] 字符串
文件名 日志文件名称;有选择地使用[记录器]和[filelog] 字符串
水平 日志级别 字符串
timestamp_precision 日志时间戳精度 字符串

HTTP服务器选项

表4.11 [http_server]

选项名称 描述 类型
bind_address IP地址绑定到HTTP端口 字符串
港口 HTTP服务器TCP端口 整数
require_realm (http_auth_realm)名称 字符串
ssl_cert SSL认证文件名称 字符串
ssl_cipher 通过SSL密码 字符串
ssl_dh_param DH参数文件名 字符串
ssl 使TLSv1.2或更高版本支持 整数
ssl_key SSL密钥文件名 字符串
static_folder 目录HTTP服务器静态文件的请求 字符串

表4.12 [http_auth_realm]

选项名称 描述 类型
后端 [http_auth_backend]部分的名称 字符串
方法 HTTP身份验证方法 字符串
的名字 身份验证的用户的域名 字符串
需要 需要身份验证的验证 字符串

表4.13 [http_auth_backend]

选项名称 描述 类型
后端 后端类型 字符串
文件名 后端存储的文件名 字符串

表4.14 (io)

选项名称 描述 类型
后端 IO的后端 字符串
线程 IO线程数量 数字

MySQL路由器配置文件选项的描述

  • logging_folder

    类型 字符串
    默认值 router_basepath美元

    路径MySQL路由器日志文件目录。日志文件命名mysqlrouter.log,生成或追加到如果这个文件已经存在。

    设置logging_folder到一个空值将消息发送到控制台(stdout)。

    请注意

    默认的logging_folder从“价值在MySQL 2.1路由器路由器的基本路径。

    一个将日志发送到的例子/var/log/mysqlrouter / mysqlrouter.log:

    (默认)logging_folder = /var/log/mysqlrouter

    ——目录使用引导选项生成的配置文件集目录/日志/美元。

  • plugin_folder

    类型 字符串
    默认值(Windows)
    默认值(其他) /usr/local/lib/mysqlrouter

    路径MySQL路由器插件。这个文件夹必须匹配MySQL路由器安装目录。你应该设置这个如果你有一个自定义安装的插件不标准的安装位置。

    默认值:/usr/local/lib/mysqlrouter

  • runtime_folder

    类型 字符串
    默认值(Windows)
    默认值(其他) /运行/ mysqlrouter

    MySQL路由器运行时文件路径。

    默认值:/运行/ mysqlrouter

  • master-key-writer

    命令行格式 ——master-key-writer file_path
    介绍了 8.0.12
    类型 字符串

    脚本,该脚本从STDIN中读取主密钥。设置使用——master-key-writer命令行启动选项。

  • master-key-reader

    命令行格式 ——master-key-reader file_path
    介绍了 8.0.12
    类型 字符串

    脚本返回主密钥发送到STDOUT。设置使用——master-key-reader命令行启动选项。

  • config_folder

    类型 字符串
    默认值(Windows)
    默认值(其他) /usr/local/etc/mysqlrouter

    路径MySQL路由器配置文件。

    请注意

    config_folder目前在编译时设置。未来插件使用的选项可能是当他们有自己的配置文件。

    默认值:/usr/local/etc/mysqlrouter

  • 介绍了 8.0.16
    类型 字符串
    有效值(Windows)

    consolelog

    filelog

    事件日志

    有效值(其他)

    consolelog

    filelog

    syslog

    水槽(s)(不同的测井方法)定义的日志级别被送到。

    支持下沉值:consolelog,filelog,事件日志(在Windows上)syslog(在基于unix的系统)。使用逗号分隔列表来定义多个值。

    默认值:filelog如果logging_folder选择不空”(默认)”部分,否则consolelog

    例如,配置日志记录器使用文件,控制台和事件日志中的每个配置使用调试日志级别(日志)部分:

    (logger)水平=调试下沉= consolelog,事件日志,filelog
  • keyring_path

    类型 字符串
    默认值(Windows) % PROGRAMDATA % \ MySQL \ \ keyring-data MySQL路由器
    默认值(其他) / / mysql-router / keyring-data运行

    指向keyring文件的位置。

    一个系统范围的引导不添加这个选项生成的配置文件,并假定keyring文件位于整个系统的运行时状态目录。如果——目录也用,那么运行时状态下的keyring文件存储目录的实例,在吗运行/在指定的目录中。

    使用系统默认的路径,如果没有定义这个选项。

    使用示例:

    keyring_path = / opt / myrouter /数据/密匙环master_key_path = / opt / myrouter / mysqlrouter.key
  • master_key_path

    类型 字符串
    默认值(Windows) % PROGRAMDATA % \ MySQL \ \ mysqlrouter.key MySQL路由器
    默认值(其他) / / mysql-router / mysqlrouter.key运行

    主密钥文件的位置。这个选项允许无人值守解密,否则它的位置是在启动时要求。

    使用系统默认的路径,如果没有指定这个选项。

    使用示例:

    keyring_path = / opt / myrouter /数据/密匙环master_key_path = / opt / myrouter / mysqlrouter.key
  • 用户(系统)

    类型 字符串

    运行mysqlrouter作为用户的名字user_name或数字的用户IDuser_id用户在这种情况下是指一个系统登录账户,不是一个MySQL用户授权表中列出。这也可以指定在运行时使用——用户命令行选项。

    在Linux上,安装路由器官方DEB和RPM包创建一个本地系统用户和组名为“mysqlrouter”主机、路由器和MySQL运行默认为该用户。这个帐户没有shell访问及其主目录指向的目录默认配置文件存储。

    这个选项的目的是运行MySQL路由器作为用户与限制系统的特权。如果系统上的用户不存在,或者如果作为根用户试图启动路由器,发出一个错误和路由器退出。

    MySQL路由器可以引导和执行在任何操作系统用户,不需要特殊权限以外的读和写访问自己的文件。它访问的文件包括插件(读/执行),配置文件,日志,UNIX域套接字文件(如果启用),等等。

    默认情况下,配置和日志文件写入一个系统范围的位置等/等/var/log。此外,路由器可以引导自己的通过使用一个独立的目录——目录选择。例如:

    壳> sudo mysqlrouter——引导localhost: 3310——目录/ /道路/ myrouter——用户史努比

    在这个例子中,路由器创建/ /道路/ myrouter并添加所有生成的文件和目录,这是由系统用户只可写的史努比。此外,用户生成的配置文件中定义吗/ /道路/ myrouter / mysqlrouter.conf:

    (默认)用户=史努比
    请注意

    这是不同的用户定义中定义的(metadata_cache)节,这是一个MySQL用户。

  • bind_address

    类型 字符串
    默认值 127.0.0.1

    相关信息可选的bind_address选择:

    • 路由条目可以绑定到一个网络接口(NIC)。默认的bind_address127.0.0.1。如果还没有定义一个端口,然后设置bind_port是必需的。

    • 默认情况下,——引导bind_address = 0.0.0.0每条路径都在生成的路由器配置文件。这个值可以改变使用——conf-bind-address

    • 绑定到一个特定的IPv4和IPv6地址允许并确保MySQL路由器不启动和路由服务的网卡没有允许执行。

    • 不可能指定超过一个绑定地址路由配置组。然而,使用0.0.0.0:美元的港口(你在哪里定义端口)美元绑定主机上的所有网络接口(IPs)。还可以使用IPv6地址。

    使用示例:

    bind_address = 127.0.0.1:7001
    请注意

    bind_address不能中列出目的地列表。

  • bind_port

    类型 整数

    可选地,您可以定义一个默认的端口bind_address使用bind_port。如果没有配置一个港口bind_address,然后bind_port需要和使用的。

    通过使用可选设置这些值——conf-base-port引导选项。

    以下三个例子都导致bind_address = 127.0.0.1:7001

    路由:example_1 bind_port = 7001
    [路由:example_2] bind_port = 7001 bind_address = 127.0.0.1
    路由:example_3 bind_address = 127.0.0.1:7001
  • 套接字

    特定于平台的 Linux
    类型 字符串

    使用的套接字被启用套接字选项,该选项可以指定有或没有TCPbind_portbind_address选项。一个例子:

    (路由)套接字= / tmp / mysqlrouter。袜子目的地= a.example.com: 3306年,b.example.com: 3307

    当启动MySQL路由器,路由器会拒绝运行如果套接字文件已经存在或不能写入。

    相对路径是可以接受的和基于路由器的当前工作目录。

    路由器可以同时听TCP套接字和Unix socket。例如,下面的(路由)配置示例中是有效的,配置路由器都侦听连接localhost: 1234/ tmp / mysqlrouter.sock:

    [路由:my_redirect] bind_address = localhost: 1234套接字= / tmp / mysqlrouter。袜子模式=读写目的地= localhost: 57121年,localhost: 57122年,localhost: 57123
    请注意

    Unix域套接字长度限制特定于平台的和不应超过系统允许的长度。

  • 协议

    类型 字符串
    默认值 经典
    有效值

    经典

    x

    路由连接到目的地时插件使用的MySQL服务器,并可以设置为“经典”(默认),或“x”(x协议)。

    使用示例:

    [路由:basic_failover] bind_port = 7001 =读写目的地= 10.20.200.1:33060模式,10.20.200.2:33060 = x协议

    协议选择也会影响每个目的地的所使用的缺省端口。如果目的港不配置,那么“经典”的默认端口是3306(默认),33060年“x”(x协议)。

  • pid_file

    介绍了 8.0.20
    类型 字符串

    集PID文件的位置。这个可以设置三种不同的方式(在优先顺序):——pid文件命令行选项,设置pid_file选择在路由器的配置文件,或者定义ROUTER_PID环境变量。

    如果——引导是指定的,那么pid_file和ROUTER_PID定义将被忽略。这是不同于——pid文件命令行选项导致路由器失败。

    如果——引导没有指定,那么以下导致路由器失败:- PID文件已经存在,pid_file或设置ROUTER_PID但空,或者如果路由器不能写PID文件。

  • connect_timeout

    类型 整数
    默认值 1
    最小值 1
    最大值 65536年

    超时值MySQL路由器连接到目的地时使用的MySQL服务器。默认值是1秒。值不能是无限的,无效的值会导致一个配置错误。有效的范围是1到65536之间。你应该降低这个值。

    例如,当使用读写模式,价值可以更高一点等待主变得可用。当使用只读模式二次连接,一个较低的价值更有意义,因为路由器中选择一个新的服务器连接路由。

    使用示例:

    (路由)connect_timeout = 1
  • connect_timeout

    类型 整数
    默认值(≥8.0.14) 15
    默认值(≤8.0.13) 30.

    超时值MySQL所使用的路由器连接到MySQL服务器的元数据。默认值为30秒。

    使用示例:

    (默认)connect_timeout = 30
  • read_timeout

    类型 整数
    默认值 30.

    所使用的超时值MySQL路由器当阅读从MySQL元数据服务器。默认值为30秒。

    使用示例:

    (默认)read_timeout = 30
  • 目的地

    类型 字符串

    提供主机信息建立连接。它接受一个以逗号分隔的目的地址或元数据缓存集群链接到一个InnoDB。

    例子使用与特定的主机(静态路由):

    目的地= a.example.com, b.example.com, c.example.com
    请注意

    如果没有显式地设置一个目的地的港口,然后默认端口是3306协议是否设置为“经典”设置(默认),或者33060端口吗协议设置为“x”。

    示例使用InnoDB集群元数据缓存:

    目的地=元数据缓存:/ / mycluster /违约? =主要角色

    元数据缓存URI的选项是:

    • 角色:确定可用的类型实例连接。可接受的值是小学、中学或PRIMARY_AND_SECONDARY。

      routing_strategymysqlrouter.conf选项定义了特定的策略,和默认元数据缓存路由策略循环

    • disconnect_on_promoted_to_primary:控制现有的客户端连接到一个二级是否关闭当二次提升为主要。默认值是“不”,这意味着现有的客户端连接到晋升二级不关闭后推广。集disconnect_on_promoted_to_primary = yes在URI关闭这些现有的连接。

      这个选项是在MySQL路由器8.0.12补充道。

    • disconnect_on_metadata_unavailable:控制现有的客户端连接是否封闭组时超载。默认值是“不”,这意味着现有客户端连接时不关闭组是超载。集disconnect_on_metadata_unavailable = yes在URI关闭这些现有的连接。

      这个选项是在MySQL路由器8.0.12补充道。

    请注意

    相关,这些条件导致断开连接:连接主主降级为二级后,连接到一个节点,不再是集群的一部分。

  • dynamic_state

    介绍了 8.0.14
    类型 字符串

    这个选项跟踪和商店活跃MySQL InnoDB集群元数据服务器地址和加载它们是否重启路由器。这个功能被激活——引导和优先考虑弃用静态的bootstrap_server_addresses选择。

    引导定义了dynamic_state选项mysqlrouter.conf以下文件(默认的)部分。的值是一个路径JSON文件命名state.json路由器已经引导时创建的。的state.json初始化使用InnoDB集群元数据服务器地址和组复制ID(由InnoDB返回group_replication_name集群);路由器运行时添加附加信息和更新。

    例子mysqlrouter.conf条目:

    (默认)dynamic_state = / opt / myrouter /数据/ state.json

    例子state.json生成的——引导:

    {"元数据缓存":{“group-replication-id”:“4 b9e817a - 0254 - 11 - e9 - 9 - cc0 - 080027 - bb5030”、“cluster-metadata-servers”: [“mysql: / / localhost: 3310”,“mysql: / / localhost: 3320”,“mysql: / / localhost: 3330]},“版本”:“1.0.0”}

    dynamic_state和弃用bootstrap_server_addresses不能同时设置选项。向后兼容性,如果bootstrap_server_addresses然后设置功能就像在以前的路由器版本和不使用这种动态配置功能。

    这个选项是在MySQL路由器8.0.14补充道。

  • 模式

    类型 字符串
    有效值

    读写

    只读

    弃用模式选项设置路由器的调度,和两个支持模式值:

    重要的

    MySQL路由器8.0.4介绍了routing_strategy选择更灵活的配置方式模式安排

    这两个模式routing_strategy不能设置在同一时间。需要设置一个静态路由,而他们用InnoDB集群是可选的。

    • 读写:通常用于路由主人或主MySQL实例。

      模式安排:在读写模式下,所有流量指向最初的地址列表。如果失败了,那么MySQL路由器将名单上的下一个条目继续尝试每个MySQL服务器列表。如果没有更多的MySQL服务器上可用列表然后路由将中止。

      请注意

      routing_strategy,同样的行为可以定义使用routing_strategy =下一个可用而不是模式=读写

      第一个成功的MySQL服务器保存在内存中作为第一个尝试联系未来传入的连接。这是一个临时状态,这意味着这是MySQL路由器重启后被遗忘。

      [路由:example_strategy_mode] bind_port = 7001个目的地= primary1.example.com, primary2.example.com, primary3.example.com =读写模式

      因为模式弃用,前面的示例应该使用routing_strategy而不是:

      [路由:example_strategy] bind_port = 7001个目的地= primary1.example.com, primary2.example.com, primary3.example.com routing_strategy =下一个可用
    • 只读:通常用于路由复制品或二级MySQL实例。

      模式安排:模式只读使用一个简单的循环方法通过MySQL服务器的列表。它发送名单上的第一连接地址,下一个连接到第二个地址,等等,会绕回来后的第一个地址列表为空。

      请注意

      routing_strategy,同样的行为可以定义使用routing_strategy =循环而不是=只读模式

      如果一个MySQL服务器不可用,那么下一个服务器尝试。当没有一个MySQL服务器列表可用路由是中止。

      不可用MySQL服务器隔离。他们的可用性是重新核对,当他们回到可用目的地列表。订单的目的地。

      [路由:ro_route_mode] bind_port = 7002个目的地= secondary1.example.com, secondary2.example.com, secondary3.example.com =只读模式

      因为模式弃用,前面的示例应该使用routing_strategy而不是:

      [路由:ro_route] bind_port = 7002个目的地= secondary1.example.com, secondary2.example.com, secondary3.example.com routing_strategy =循环

    另外,之前的目的地例子可以使用元数据缓存使用InnoDB的元数据集群的缓存动态配置主机信息。例如:

    [路由:ro_route] bind_port = 7002个目的地=元数据缓存:/ / myCluster /违约?=二级routing_strategy =循环作用
  • routing_strategy

    类型 字符串
    有效值

    第一个可用

    下一个可用

    循环

    round-robin-with-fallback

    路由策略定义了MySQL路由器选择连接到MySQL服务器。

    重要的

    MySQL路由器8.0.4介绍了routing_strategy选择一个更灵活的方式来定义策略。以前这种行为定义使用现在弃用模式选择。

    这两个routing_strategy模式不能设置在同一时间。需要设置一个静态路由,而他们用InnoDB集群是可选的。

    可用的策略:

    请注意

    这个角色在本节描述10bet官方网站可用的文档角色routing_strategy组合和冲突。

    • 循环:对于负载均衡,每个新连接到下一个可用的服务器以循环的方式。

    • round-robin-with-fallback:对于负载均衡,每个新连接到下一个可用的备用服务器循环的方式。如果一个次要服务器不可用,那么服务器从主列表以循环方式使用。

    • 第一个可用:新连接路由到目的地的第一个可用的服务器列表。在失败的情况下,使用下一个可用的服务器。这个循环过程一直持续到所有服务器不可用。

    • 下一个可用:就像第一个可用在新连接路由到目的地的第一个可用的服务器列表。不像第一个可用,如果一个服务器被标记为不可到达的再次被丢弃和从不使用它作为一个目的地。

      这种策略是向后兼容MySQL路由器2. x模式读写的行为。它的局限性包括:

      • 所有节点的选择被丢弃后,没有办法添加服务器列表。

      • 重新启动MySQL路由器后,所有的了解服务器被丢弃又失去了和所有服务器。

      • 元数据缓存不支持下一个可用的路由策略,作为下一个可用唯一与静态路由功能。

    角色违约和可用的组合:

    • :循环是默认行为(如果不设置routing_strategy),而引导增加了routing_strategy =第一个可用生成的MySQL路由器配置文件。值是可用的策略第一个可用循环

      请注意

      从引导价值循环第一个可用在v8.0.16。

    • 二次:循环是默认行为(如果不设置routing_strategy),而引导增加了routing_strategy = round-robin-with-fallback生成的MySQL路由器配置文件。值是可用的策略第一个可用,循环round-robin-with-fallback

      请注意

      从引导价值循环round-robin-with-fallback在v8.0.16。

    • PRIMARY_AND_SECONDARY:循环是默认行为(如果不设置routing_strategy)。值是可用的策略第一个可用,循环

  • max_connections

    类型 整数
    默认值 512年
    最小值 1
    最大值 65536年

    每一个路由可以限制线路或连接的数量。一个可能的用途是帮助防止拒绝服务(DOS)攻击。默认值为512,有效范围是1到65536之间。

    这类似于MySQL服务器的max_connections服务器系统变量。

    max_connections = 512

    MySQL路由器8.0.22介绍功能,增加了并发连接限制从大约5000年到50000年间连接。最大的都取决于系统的调查(或linux_epoll)限制和可用的CPU核/线程的数量。参见(IO)后端线程配置选项。

  • thread_stack_size

    介绍了 8.0.12
    类型 整数
    默认值 64年
    最小值 1
    最大值 65535年

    分配给每个线程的堆栈大小。以千字节,默认为64。

    (默认)thread_stack_size = 128
  • net_buffer_length

    介绍了 8.0.22
    类型 整数

    设置net_buffer_lengthMySQL服务器选项。

  • max_connect_errors

    类型 整数
    默认值 One hundred.
    最小值 1
    最大值 4294967295

    默认值为100,有效范围是1 - 2 ^ 32(4294967295,一个unsigned int)。

    这类似于MySQL服务器的max_connect_errors服务器系统变量。

    这可能会导致轻微的性能损失,如果一个应用程序执行频繁的重新连接,因为MySQL路由器尝试发现如果connection-related错误存在。

    一个成功的连接重置计数器(8.0.14)的错误。

    每个路由都有自己的屏蔽主机列表。阻塞客户端接收MySQL服务器错误1129代码与一个稍微不同的错误信息:“从fail.example.com 1129:太多的连接错误”。为阻止客户路由器日志包含额外的信息,如:信息[…]1认证错误为fail.example.com (max 100)警告[…)阻塞客户端主机fail.example.com

    max_connect_errors = 100
  • client_connect_timeout

    类型 整数
    默认值 9
    最小值 2
    最大值 31536000

    这类似于MySQL服务器的connect_timeout服务器系统变量。

    默认值是9,这是不到一个MySQL 5.7违约。2和31536000之间的有效范围。

    client_connect_timeout = 9
  • auth_cache_refresh_interval

    介绍了 8.0.20
    类型 数字
    默认值 2
    最小值 0.001
    最大值 3600年

    之间的时间(以秒为单位)auth-cache刷新尝试。默认为2。值必须小于auth_cache_ttlttl其他的路由器不会开始。

    这个选项如果应用http_auth_backend部分的后端选项设置为metadata_cache;这是一个路由器REST API的功能。

  • auth_cache_ttl

    介绍了 8.0.20
    类型 数字
    默认值 1
    最小值 0.001
    最大值 3600年

    时间(以秒为单位),直到变得无效如果不刷新缓存。默认值为1(无限)。的值必须大于auth_cache_refresh_interval其他的路由器不会开始。

    这个选项如果应用http_auth_backend部分的后端选项设置为metadata_cache;这是一个路由器REST API的功能。

  • router_id

    类型 整数

    MySQL的路由器ID。

  • server_ssl_curves

    介绍了 8.0.23
    类型 字符串

    默认为一个安全的SSL曲线列表。格式的字符串作为一个冒号分隔的列表曲线的名字。

  • server_ssl_cipher

    介绍了 8.0.23
    类型 字符串

    默认为一个安全的SSL密码列表。这个字符串格式作为密码的冒号分隔的列表的名字。

  • server_ssl_verify

    介绍了 8.0.23
    类型 字符串
    默认值 禁用
    有效值

    禁用

    VERIFY_CA

    VERIFY_IDENTITY

    SSL验证设置为默认禁用。

  • server_ssl_mode

    介绍了 8.0.23
    类型 字符串
    默认值 AS_CLIENT
    有效值

    AS_CLIENT

    禁用

    首选

    要求

    SSL模式设置为默认AS_CLIENT。

  • client_ssl_dh_params

    介绍了 8.0.23
    类型 字符串

    如果指定的,而不是空的,这个文件的DH参数代替内部默认DH参数。DH参数文件格式在PEM格式。

  • client_ssl_curves

    介绍了 8.0.23
    类型 字符串

    允许哪些曲线之间的客户端和MySQL路由器,默认为一个安全的SSL曲线列表。格式的字符串作为一个冒号分隔的列表曲线的名字。

  • client_ssl_cipher

    介绍了 8.0.23
    类型 字符串

    客户端和MySQL路由器之间允许哪些密码,默认为一个安全的SSL密码列表。这个字符串格式作为密码的冒号分隔的列表的名字。

  • client_ssl_mode

    介绍了 8.0.23
    类型 字符串
    默认值 首选
    有效值

    首选

    禁用

    要求

    控制如果从客户机连接到MySQL路由器必须加密。

  • ssl_mode

    类型 字符串
    默认值 首选
    有效值

    首选

    禁用

    要求

    VERIFY_CA

    VERIFY_IDENTITY

    SSL模式连接到MySQL服务器的元数据。它默认为首选如果没有设置。

    当设置为首选(默认),引导将警告当不使用SSL和连接到元数据服务器是未加密的。

    可用值是残疾,优先考虑,要求,VERIFY_CA, VERIFY_IDENTITY。与mysql客户端,这个值是不区分大小写的。

    还有一个运行时选择引导;看到——ssl-mode

  • bootstrap_server_addresses

    弃用 8.0.14
    类型 字符串

    指向列表和元数据,可以连接到MySQL服务器。元数据被访问后,元数据缓存交换机到服务器出现在主ReplicaSet获取元数据。他们也被称为引导服务器。

    不建议使用这个选项在MySQL中路由器8.0.14,不再产生的引导过程。相反,dynamic_state选择添加作为替换。

  • 用户(MySQL)

    类型 字符串

    生成的MySQL用户与权限访问MySQL服务器的元数据模式。这个用户的密码是自动生成并存储在一个加密的密匙环。默认情况下,这个密匙环的加密密钥存储在一个读保护主密钥存储文件,该文件是在配置文件中定义的。大多数情况下,该用户在引导和相关密码是自动生成的。相关的命令行选项——force-password-validation——尝试输入密码。默认情况下,生成的密码通过validate_password力量雄厚。

    密码是完全由路由器和永远不会暴露,并存储在一个本地密匙环系统使用操作系统的账户,MySQL路由器运行。可以使用它通过路由器连接到InnoDB集群和检索当前拓扑信息。路由器和元数据服务器之间的会话是默认使用SSL加密。

    在生成的密匙环文件存储取决于引导配置。对于独立的安装(当——目录使用),它存储在运行/在独立的目录中。对于整个系统的安装,它是存储在系统运行时状态目录,路径是特定于平台的。有关更多信息,请参见master_key_pathkeyring_path

    这个用户分配(需要)以下特权:

    路由器所需的特权帐户:在元数据服务器:选择mysql_innodb_cluster_metadata。*目标副本集:选择performance_schema。在performance_schema.replication_group_member_stats replication_group_members选择

    生成的用户名遵循这一模式:mysql_router_[0 - 9]{1,6}_[0-9a-z] {12},在那里[0 - 9]{1,6}数字的路由器id和吗[0-9a-z] {12}是12个随机小写字母数字字符。如果已经出现在路由器id是重用mysqlrouter.conf和它的长度不能超过6位数。

    请注意

    这个用户是不同的用户定义中定义的(默认)节,这是一个系统用户。

  • metadata_cluster

    类型 字符串

    InnoDB集群的名称。

    请注意

    SQL查询MySQL集群InnoDB名单:从mysql_innodb_cluster_metadata.clusters SELECT *;

  • use_gr_notifications

    介绍了 8.0.17
    类型 整数
    默认值 0
    有效值

    0

    1

    使组复制通知。当启用时,路由器是大多数集群变化的异步通知。它可以手动启用mysqlrouter.conf或启用使用——conf-use-gr-notifications在启动命令行选项。

    当路由器收到下列通知从组复制,它刷新集群元数据:

    • group_replication /会员/ quorum_loss

    • group_replication /会员/视图

    • group_replication /地位/ role_change

    • group_replication /地位/ state_change

    请注意

    组复制通知功能需要一个X协议从路由器连接到每个实例必须运行X插件。如果X协议连接不可用,元数据进行刷新ttl好像没有启用通知功能。

    尽管组复制通知依靠X协议连接,收到通知触发一个元数据刷新它使用一个典型的MySQL协议连接到实例。

    组复制通知特性被启用时,将允许一个更高ttl值,因为元数据进行刷新ttl间隔成为一个额外的保护,而不是主要手段保持集群状态更新信息。当禁用,低ttl值(如0.5秒,默认)建议避免重新连接到实例的开销和查询元数据经常改变。

  • ttl

    类型(≥8.0.12) 数字
    类型(8.0.11) 整数
    默认值(≥8.0.12) 0.5
    默认值(8.0.11) 5
    最小值 0
    最大值(≥8.0.12) 3600年
    最大值(8.0.11) 4294967295

    生存时间(以秒为单位)信息的元数据缓存。

    接受一个整数或浮点值。0.001毫秒的粒度是有限的,相当于一个毫秒。精度截断所支持的范围;例如ttl = 0.0119被视为11毫秒。的值0意味着元数据缓存模块查询元数据一直在紧密循环。

    只支持十进制分隔符”。”(一段时间)不管语言环境,和科学符号,如ttl = 1.6依照,支持。

    浮点支持MySQL路由器8.0.12补充道。

  • 目的地

    介绍了 8.0.21
    类型 字符串
    默认值(Windows) 反对
    默认值(其他) /dev/stderr
    有效值(Windows)

    反对

    有效值(其他)

    / dev / null

    /dev/stderr

    /dev/stdout

    直接控制台日志输出这个设备目的地;在[consolelog]部分。默认为/dev/stderr和一个空使用默认值。

    可用值:/dev/stdout,/dev/stderr,/ dev / null;或反对在Windows上。

    (默认)logging_folder = = / dev / null (consolelog)的目的地
  • 文件名

    介绍了 8.0.21
    类型 字符串

    日志输出重定向到一个特定的文件命名文件名驻留在logging_folder目录中。它必须被定义为一个文件名称和文件路径,并与[记录器]和[filelog]部分。

    使用文件名与(logger)来定义默认值[filelog]部分,也改变路由器的日志文件mysqlrouter.log这个新值。

    (默认)logging_folder = /道路/ /日志/文件名= router_error.log记录器

    路由器不报告错误如果文件名设置下(logger)但没有使用基于文件的日志记录器。

    使用文件名(filelog):

    (默认)logging_folder = /道路/ /日志/ filelog:文件名= a_router_error。日志文件名= b_router_error.log filelog: b

    如果文件名是空或没有设置(filelog)然后使用文件名(logger)下定义;和使用的默认日志文件(mysqlrouter.log如果文件名没有设置在(记录器)。

    相关,指挥控制台输出/ dev / null:

    (默认)logging_folder = = / dev / null (consolelog)的目的地
  • 水平

    类型 字符串
    默认值 信息
    有效值(≥8.0.20)

    调试

    请注意

    信息

    警告

    错误

    系统

    致命的

    有效值(≤8.0.19)

    调试

    信息

    警告

    错误

    致命的

    使用日志记录器插件日志通知、错误和调试信息。可用的日志级别调试,请注意,信息(默认),警告,错误,系统,致命的。这些值是不区分大小写的。

    信息水平显示所有信息消息、警告和错误消息。的调试从路由器代码级别显示额外的诊断信息,包括成功的路线。系统包括消息如启动消息。

    (logger) =调试水平

    取决于输出行为logging_folder选择。设置logging_folder一个文件夹保存一个日志文件命名mysqlrouter.log该文件夹。设置logging_folder空值,或者没有设置,输出日志到控制台。它是确定的(默认)部分。

    请注意

    “系统”和“注意”的错误水平在MySQL路由器8.0.20补充道。

    引导接受一个配置文件使用——配置并利用日志级别定义。

  • timestamp_precision

    介绍了 8.0.18
    类型 字符串

    日志时间戳精度;可用的示例值定义为:

    • 第二,证券交易委员会,或年代:2019-05-10 12:10:25

    • 毫秒、微秒或女士:2019-05-10 12:10:25.428

    • 微秒、浓缩或我们:2019-05-10 12:10:25.428754

    • 纳秒,nsec ns:2019-05-10 12:10:25.428754000

  • 港口

    介绍了 8.0.16
    类型 整数
    默认值 8081年

    TCP端口侦听HTTP请求;它默认为8881。

  • bind_address

    介绍了 8.0.16
    类型 字符串
    默认值 0.0.0.0

    IP地址绑定到HTTP港口;它默认为0.0.0.0。

  • static_folder

    介绍了 8.0.16
    类型 字符串

    静态文件请求的基本目录;默认情况下它是空的。空值意味着没有提供静态文件。

  • require_realm

    介绍了 8.0.16
    类型 字符串

    (http_auth_realm)实例的名称。

  • ssl

    介绍了 8.0.16
    类型 整数
    默认值 1
    有效值

    1

    0

    值1支持SSL, 0禁用它。TLS客户支持TLSv1.2或晚是必需的。这是定义在[http_server]部分。

  • ssl_cert

    介绍了 8.0.16
    类型 字符串

    文件名称及其链认证证书的PEM格式;如果需要ssl = 1。这是定义在[http_server]部分。

  • ssl_key

    介绍了 8.0.16
    类型 字符串

    在PEM格式文件名称的关键;如果需要ssl = 1。这是定义在[http_server]部分。

  • ssl_cipher

    介绍了 8.0.16
    类型 字符串

    cipher-spec(参见openssl的密码列表)。密码默认为一个以逗号分隔的所有批准。未知密码默默地忽略。失败如果密码列表是空的,ssl = 1。这是定义在[http_server]部分。

  • ssl_dh_param

    介绍了 8.0.16
    类型 字符串

    从这个文件读取DH参数在PEM格式。在默认情况下使用RFC 5114的dh-param如果ssl = 1。这是定义在[http_server]部分。

  • 后端

    介绍了 8.0.22
    类型 字符串
    默认值(Windows) 民意调查
    默认值(其他) linux_epoll
    有效值(Windows) 民意调查
    有效值(其他)

    linux_epoll

    民意调查

    后端处理异步IO操作。一般调查后端可以在所有平台上,而每个平台可以提供替代后端。

    选择调查(所有平台)和linux_epoll (Linux)。默认为linux_epoll Linux上。

    请注意

    支持MySQL路由器8.0.22添加。

    (io)后端= = 32 linux_epoll线程

    路由器有三个“后端”选项,每个不同部分具有不同的含义。有“(io)后端(异步操作),(http_auth_realm)后端”(定义一个自定义名称后端关联到一个特定的领域),和“(http_auth_backend)后端”(类型的身份验证后端)。帮助避免混淆,这里有一个例子证明这三个:

  • 线程

    介绍了 8.0.22
    类型 数字
    默认值 0
    最小值 0
    最大值 1024年

    IO线程处理连接的数量。

    默认值为0(使用所有可用的CPU核/线程),但也接受1到1024之间的数字。在运行时系统可能限制上限超出此值。

    请注意

    支持MySQL路由器8.0.22添加。

    (io)后端= = 32 linux_epoll线程
  • 后端

    介绍了 8.0.16
    类型 字符串

    [http_auth_backend]部分的名称。

    路由器有三个“后端”选项,每个不同部分具有不同的含义。有“(io)后端(异步操作),(http_auth_realm)后端”(定义一个自定义名称后端关联到一个特定的领域),和“(http_auth_backend)后端”(类型的身份验证后端)。

  • 方法

    介绍了 8.0.16
    类型 字符串
    默认值 基本

    HTTP身份验证方法;默认为基本。

  • 的名字

    介绍了 8.0.16
    类型 字符串

    领域提出了身份验证的用户的名称。

  • 需要

    介绍了 8.0.16
    类型 字符串
    默认值 有效的用户

    要求用户通过身份验证后端验证;默认为有效用户,使这张支票。

  • 后端

    介绍了 8.0.16
    类型 字符串
    默认值 文件

    后端实现的名称;接受的值是“文件”(默认)或“metadata_cache”。

    请注意

    添加在MySQL中路由器8.0.20 metadata_cache支持。

    【http_auth_backend:名称】后台= metadata_cache metadata_cache auth_cache_refresh_interval = 2 auth_cache_ttl = 1

    路由器有三个“后端”选项,每个不同部分具有不同的含义。有“(io)后端(异步操作),(http_auth_realm)后端”(定义一个自定义名称后端关联到一个特定的领域),和“(http_auth_backend)后端”(类型的身份验证后端)。

  • 文件名

    介绍了 8.0.16
    类型 字符串

    后端存储文件的名称,是相对的data_folder目录中。

  • cluster_type

    介绍了 8.0.19
    类型 字符串
    有效值

    gr

    rs

    AdminAPI对象的类型,路由器是引导,这是一个InnoDB ReplicaSet (rs)或InnoDB集群(gr)。

    引导评估目标实例,并相应地设置这个选项在生成的配置文件。

    这个选项被添加在MySQL中路由器8.0.19;相同版本InnoDB ReplicaSet支持补充道。