您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

MHA 参数列表详解_MySQL

2024/11/15 8:41:04发布33次查看
global : 作用于master/slave, global级别的参数用于管理多组master/slave结构,可以统一化管理一些参数。
hostname配置mysql服务器的机器名或是ip地址,这个配置项是必须的,而且只能配置在[server_xxx]这个块下面。
如:
参数名 是否必须 作用域 默认值 例子及说明
hostname yes local only - hostname=mysql_server1, hostname=192.168.0.1, etc
ipmysql服务器的ip地址。 默认从gethostname($hostname)中获得。 默认不用配置这个参数,mha可以通过hostname自动获取,mha通过ip地址连接mysql服务器及ssh连接。
如:
参数名 是否必须 作用域 默认值 例子及说明
ip no local only 通过gethostbyname($hostname)获得 ip=192.168.1.3
portmysql运行的端口号。 默认是3306. mha使用ip和端口号连接mysql
如:
参数名 是否必须 作用域 默认值 例子及说明
port no local/app/glbal 3306 port=3306
ssh_host(从mha 0.53后开始支持) mha要ssh上mysql目标服务器使用hostname 或是ip地址。这个参数主要用于在使用多个vlan的环境中。为了安全原因ssh默认不允许。默认这个参数和hostname相同。
如:
参数名 是否必须 作用域 默认值 例子及说明
ssh_host no local only 和hostname相同 ssh_host=mysql_server1, ssh_host=192.168.0.1, etc
ssh_ip(从mha 0.53后开始支持) 和ssh_host作用相同。 默认是gethostname($ssh_host)获得。
如:
参数名 是否必须 作用域 默认值 例子及说明
ssh_ip no local only gethostbyname($ssh_host) ssh_ip=192.168.1.3
ssh_port(从mha 0.53后开始支持) ssh使用的端口号,默认是22.
如:
参数名 是否必须 作用域 默认值 例子及说明
ssh_port no local/app/global 22 ssh_port=22
ssh_connection_timeout(从mha 0.54后支持)默认是5秒。在没添加这个参数之前ssh超时时间是写死的。
如:
参数名 是否必须 作用域 默认值 例子及说明
ssh_connection_timeout no local/app/global 5 ssh_connect_timeout=5
ssh_options(从mha 0.53后支持) 添加ssh命令行的支持参数,例如加上特别文件名的key的支持等。
如:
参数名 是否必须 作用域 默认值 例子及说明
ssh_options no local/app/global “” 空的 ssh_options=”-i /root/.ssh/id_dsa2″
candidate_master你可能对于同一组slave中有着不同的规划,有的其望在master故障时,提升为新的master(如: raid1+1的slave比raid0的slave更适合做master)
这个参数的作用是当设计candidate_master = 1时,这个服务器有较高的优先级提升为新的master(还要具备: 开启binlog, 复制没有延迟)。 所以当设置了candidate_master = 1的机器在master故障时必然成为新的master. 但这是很有用的设置优先级的一个参数。
如果设置了多台机器的caddidate_master = 1 , 优先策略依赖于块名字([server_xxx]). [server_1] 优衔权高于[server_2].
如:
参数名 是否必须 作用域 默认值 例子及说明
candidate_master no local only 0 candidate_mast=1
no_master当设置了no_master = 1的服务器,这个服务器永远不会提升为新的master. 这个参数据对于永远不期望成为master的机器很有用。 如: 你可能需要在使用raid0的机器上设置no_master = 1 或是你希望在远程的idc里运行一个slave. 注意: 当没有可以成为新master的机器是mha就直接退出来了同时停止监控和master故障切换。
如:
参数名 是否必须 作用域 默认值 例子及说明
no_master no local only 0 no_master=1
ignore_fail在默认情况下,mha manager不会在slave存在故障的情况下(已经不能通过ssh/mysql进行连接,或是sql thread已经停止出错,其它原因)的情况下进行master的故障切换(当不存在slave时mha manager也会退出)。 但有些情况下你期望在slave存在问题的情况下,也进行故障切换。 所以当设置了ignore_fail = 1时,mha会在所有的机器有问题的时间也会进行故障切换。 默认是0.
如:
参数名 是否必须 作用域 默认值 例子及说明
ignore_fail no local only 0 ignore_fail=1
#skip_init_ssh_check#
在mha manager启动时跳过ssh检查。
如:
参数名 是否必须 作用域 默认值 例子及说明
skip_init_ssh_check no local only 0 skip_init_ssh_check=1
skip_reset_slave(从mha 0.56开始支持) master故障切换后新的master上执行reset slave(all).
如:
参数名 是否必须 作用域 默认值 例子及说明
skip_reset_slave no local/app/global 0 skip_reset_slave=1
user用于管理mysql的用户名。这个最后需要root用户,因为它需要执行:stop slave; change master to , reset slave. 默认: root
如:
参数名 是否必须 作用域 默认值 例子及说明
user no local/app/global root user=mysql_root
passwordmysql的管理用户的密码。 默认是空的
如:
参数名 是否必须 作用域 默认值 例子及说明
password no local/app/global 空的 password=rootpass
repl_usermysql用于复制的用户,也是用于生成change master to 每个slave使用的用户。 这个用户必须有replication slave权限在新的master上。默认情况下 repl_user会在将来成为master的机器上运行show slave status获取到。
如:
参数名 是否必须 作用域 默认值 例子及说明
repl_user no local/app/global 从show slave status repl_user=repl
repl_passwordmysql中repl_user用户的密码。 默认是当前复制用的密码。 当你使用online_master_switch时,当使用–orig_master_is_new_slave(原来的master成为新master的一个slave)时,如果没有repl_password 开启同步就会失败了。因为当前master上用于复制的用户名和密码都是空的(mha在原来的master上执行change master to 时没有带复制的密码,虽然其它slave上设置了复制的密码)
如:
参数名 是否必须 作用域 默认值 例子及说明
repl_password no local/app/global 当前复制用的密码 repl_password=replpas
disable_log_bin当设置了这个参数,在slave应用差异的relay log时不会产生二进制日志。 内部实现通过mysqlbinlog的disable-log-bin实现。
如:
参数名 是否必须 作用域 默认值 例子及说明
disable_log_bin no local/app/global 0 disable_log_bin=1
master_pid_file指定mysql的pid文件。 这个参数在一台服务器上运行多个mysql服务进程时非常有用。
如:
参数名 是否必须 作用域 默认值 例子及说明
master_pid_file no local/app/global - master_pid_file=/var/lib/mysql/master1.pid
ssh_usermha mananger, mha node系统上的用户。 这个帐号需要在远程机器上有执行权限(manager->mysql),在slave成员之间复制差异的relay-log(mysql->mysql)
这个用户必须有读取mysql的binary/relay日志和relay_log.info的权限,还需要对远程mysql上remote_workdir目录的写权限。
这个用户还必须可以直接ssh到远程机顺上, 推荐使用ssh pbulic key . 一般使用的ssh_user也是运行manager那个那个用户。
如:
参数名 是否必须 作用域 默认值 例子及说明
ssh_user no local/app/global 当前使用的系统用户 ssh_user=root
remote_workdirmha node上工作目录的全路径名。如果不存在,mha node会自动创建,如果不允许创建,mha node自动异常退出。 需要注意mha manager 或是mha node上需要检查空间是否可用,所以需要注意检查这个。 一般默认, remote_workdir是的”/var/tmp”
如:
参数名 是否必须 作用域 默认值 例子及说明
remote_workdir no local/app/global /var/tmp remote_workdir=/var/log/masterha/app1
master_binlog_dirmaster上用于存储binary日志的全路径。这个参数用于当master上mysql死掉后,通过ssh连到mysql服务器上,找到需要binary日志事件。这个参数可以帮助用于无法找到master进程死掉后binary日志存储位置。
一般: master_binlog_dir是”/var/lib/mysql/, /var/log/mysql”. “/var/lib/mysql/”是大多数系统发行版本的存放位置,”/var/log/mysql”是ubuntu发行版本的存放位置。 你也可以设置多个存放位置用逗号隔开。
如:
参数名 是否必须 作用域 默认值 例子及说明
master_binlog_dir no local/app/gobal /var/lib/mysql master_binlog_dir=/data/mysql1,/data/mysql2
log_level设置mha manager记录log的级别。 默认是info级别而且大多数情况也是比较适合。 同样可以设置为: debug/info/warning/error.
如:
参数名 是否必须 作用域 默认值 例子及说明
log_level no app/global info log_level=debug
manager_workdir用于指定mha manager产生相关状态文件全路径。 如果没设置 默认是/var/tmp
如:
参数名 是否必须 作用域 默认值 例子及说明
manager_workdir no app /var/tmp manager_workdir=/var/log/masterha
manager_log指定mha manager的绝对路径的文件名日志文件。 如果没设置mha manager将打印到stdout/stderr。 当手工执行故障切换(交互模式切换),mha manager会忽略manager_log设置直接将日志输出到stdout/stderr.
如:
参数名 是否必须 作用域 默认值 例子及说明
manager_log no app stderr manager_log=/var/log/masterha/app1.log
check_repl_delay在默认情况下,当一个slave同步延迟超过100m relay log(需要应用超过100m relay log), mha在做故障切换时不会选择这个slave做为新的master,因为恢复需要经过很长时间.当设置了check_repl_delay = 0, mha将忽略被选择的slave上的同步延迟。 这个选项在设置了candidate_master = 1特声明的期望这台机器成为master的情况下特别有用。
如:
参数名 是否必须 作用域 默认值 例子及说明
check_repl_delay no app/golbal 1 check_repl_delay=0
check_repl_filter在默认下情况,当master和slave设置了不同了binary log/replication 过滤规则时,mha直接报错不会进行监控和故障切换。 这些将会导致出现一些异想不到的错误”table not exists”。如果你100%确认不同的过滤规则不会导致恢复中的错误,设置check_repl_filter=0。 需要注意: 当使用了check_repl_filter = 0时,mha不会检查过滤规则在应用差异的relay日志,所以有可能会出现”table not exists”的错误。当你设置了这个参数请小心处理。
如:
参数名 是否必须 作用域 默认值 例子及说明
check_repl_filter no app/global 1 check_repl_filter=0
latest_priority在默认情况下,和master最接近的slave(一个slave从master上获得了最一个binlog事件)是最有优先权成为新的master。 如果你想控制一下切换的策略(如: 先选择host2,如果不行,选host3;host3不行,选host4…) 那么设置latest_priority = 0 就可以了。
如:
参数名 是否必须 作用域 默认值 例子及说明
latest_priority no app/global 1 latest_priority=0
multi_tier_slave从mha 0.52开始, 多层复制可以支持了。在默认情况下,不支持三层或是更多层的复制配置。 如果: host2从host1上复制,host3从host2上复制。 在默认配置的情况下不支持写host{1,2,3},因为这是一个三层的复制,mha manager会停止报错。 当设置了multi_tier_slave, mha manager就不会在三层复制报错停止。 但是会忽略第三层的机器。也就是如果host1挂了,host2将会成为新的master,host3还是从host2上进行复制。
这个参数在mha manager 0.52后的版开始支持。
如:
参数名 是否必须 作用域 默认值 例子及说明
muli_tier_slave no app/global 0 multi_tier_slave=1
ping_interval这个参数设置mha manager多长时间去ping一下master(执行一些sql语句). 当失去和master三次偿试,mha manager会认为mysql master死掉了。也就是说,最大的故障切换时间是4次ping_interval的时间,默认是3秒。
如果mha manager在和mysql创建连接时都收到多连接错误或是认证错误,这个就不做重试就会认为master已经挂掉。
如:
参数名 是否必须 作用域 默认值 例子及说明
ping_interval no app/global 3 ping_interval=5
ping_type(从mha 0.53后开始支持) 在默认情况下, mha manager和mysql创建一个连接执行”select 1″(ping_type=select)用于检查master是否健康。 但有一些情况: 每次检测都连接/然后断开会比较好一点,这样对于tcp方面的错误感知更快一点。设置ping_type=connect 就行了。从mha 0.56后pint_type=insert也被添加。
如:
参数名 是否必须 作用域 默认值 例子及说明
ping_type no app/global select ping_type=connect
secondary_check_script一般来讲, 非常推荐使用更多网络上机器是不同路由策略上的机器来检查mysql master是否存活。 默认情况下,只有mha manager通过一个路由来检查master是否存活。这个也是不推荐的。mha可以通过外部secondary_check_script配置的脚本来做到从多个路由策略下进行检查。
secondary_check_script = masterha_secondary_check -s remote_host1 -s remote_host2
secondary_check_script包含在mha manager发行包中。 mha中内置的secondary_check_script在大多数情况下工作良好,但并不是任何地都可以使用这个脚本。
在上面的例子中, mha manager通过manager->(a)->remote_host1->(b)->master_host 和manager->(a)-remote_host2->(b)->master_host来检查mysql master是否存活。如果在连接过程中通过a可以都成功,通过b是都失败,secondary_/check_/script返回0,而且认为master已经死掉,进行故障切换。如果通过a成功,但返回代码为: 2,则mha manager有会认为是网络问题,则不会进行故障切换。如果a成功,b也成功,masterha_secondary_check 退出返回:3 则mha manager就为认为mysql master为存活状态, 则不会进行故障切换。
一般来讲, remote_host1和remote_host2是和mha manager及mysql server位于不同的网段中。
mha会调用secondary_check_script声明的脚本并自动带上一些参数。 masterha_secondary_check在很多场景都是适用的,但是你也可以自已实现这个程序带有更多的功能。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product