Linux下MHA的端口号设置 (linux中mha端口号)
MHA(Master High Avlability)是一个MySQL高可用解决方案,它能够提供MySQL主从复制、MySQL自动故障转移和MySQL负载均衡等功能,从而提升MySQL的可用性。在Linux系统中,MHA的端口号设置是很重要的一项配置。本文将介绍如何在Linux系统中设置MHA的端口号,并给您带来一些实践经验和技巧。
一、MHA端口号的作用
MHA使用TCP协议通过端口号来进行通信。在实际应用中,它的端口有两种:
1. ssh端口号:MHA需要通过ssh来与服务器进行通信,这里的端口号就是ssh的端口号。
2. mha_manager端口号:MHA的管理端,用于进行MHA的管理操作,比如启停、配置等。
如果两种端口号都不进行设置,那么MHA将会使用默认的端口号,如ssh的端口号为22,mha_manager的端口号为22023。但这样的话,就存在一定的安全风险,而且不利于多个MHA的部署和管理。
二、设置ssh端口号
设置ssh端口号,需要修改/etc/ssh/sshd_config文件,找到以下内容:
#Port 22
将注释符#去掉,然后改成其他的端口号。比如,我们将ssh的端口号设置为2222,就需要把上面的代码改成:
Port 2222
然后保存,退出。重新启动sshd服务即可。在终端中输入以下命令:
# service sshd restart
注意:如果你使用的是iptables或者firewall做防火墙的话,在设置好端口号之后,一定要把新的端口添加到防火墙规则中。
三、设置mha_manager端口号
设置mha_manager端口号需要回到MHA的安装目录,找到conf下的mha.cnf文件,以mha_manager为例,加入以下配置:
[server default]
manager_log=/usr/local/mha/log/manager.log
manager_log_level=debug
master_binlog_dir=/mysqllog
expires_for_deadlock=24
ssh_user=root
check_ssh_port=1
ssh_port=2222
repl_password=password
src_verification_password=password
master_ip_flover_script=/usr/local/mha/scripts/mha_flover
ping_interval=1
ping_type=MYSQL
ssh_connect_timeout=30
command_retry=2
user_defined_flover_script=/usr/local/mha/scripts/mha_post_flover
[server1]
hostname=192.168.0.1
candidate_master=1
[server2]
hostname=192.168.0.2
candidate_master=1
里面的ssh_port=2222表示管理端的端口号为2222。加上上述配置之后,重启mha_manager即可。
注意:MHA的管理节点和被管理的MySQL节点需要互通,否则管理是无法正确进行的。同时,为了保证MHA能够正确与被管的MySQL进行通信,需要在管理节点和MySQL节点之间上传密钥,即SSH公钥。具体方法可以使用命令ssh-keygen -t rsa生成MHA管理节点的SSH密钥,再通过ssh-copy-id传9入MySQL节点中。
四、
在Linux系统中,MHA的端口号设置非常重要。正确地设置端口号不仅可以保障数据的安全性,也能对MHA的使用和管理带来很大的方便。设置方法也十分简单,只需要修改ssh和mha_config两个文件,一定要注意设置后的端口号是否与防火墙的规则相一致。MHA的使用,还需要正确配置SSH密钥,否则也很难顺利进行,共同保障高可靠性。