这篇文章主要讲解了“MySQL5.7中MHA怎么添加或删除slave节点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL5.7中MHA怎么添加或删除slave节点”吧!

数据库架构:一主两从

master:192.168.8.57

slave1:192.168.8.58

slave2:192.168.8.59

manager:192.168.8.60

MHA工具包:

mha4mysql-manager-0.58.tar.gz

mha4mysql-node-0.58.tar.gz

一、添加节点

1.安装OS,修改主机名,hosts

2.配置SSH无密码验证

master

ssh-copy-id-i~/.ssh/id_rsa.pubroot@192.168.8.61

slave1

ssh-copy-id-i~/.ssh/id_rsa.pubroot@192.168.8.61

slave2

ssh-copy-id-i~/.ssh/id_rsa.pubroot@192.168.8.61

manager

ssh-copy-id-i~/.ssh/id_rsa.pubroot@192.168.8.61

slave3

ssh-keygen-trsassh-copy-id-i~/.ssh/id_rsa.pubroot@192.168.8.57ssh-copy-id-i~/.ssh/id_rsa.pubroot@192.168.8.58ssh-copy-id-i~/.ssh/id_rsa.pubroot@192.168.8.59ssh-copy-id-i~/.ssh/id_rsa.pubroot@192.168.8.60

3.安装MySQL5.7,配置复制

changemastertomaster_host='192.168.8.57',master_port=3306,master_user='repl',master_password='mysql',master_auto_position=1;

4.安装mha-node

tarxfmha4mysql-node-0.58.tar.gzcdmha4mysql-node-0.58perlMakefile.PLmake&&makeinstall

5.修改mha配置文件app1.cnf

[server4]hostname=192.168.8.61port=3306

6.互信测试

MonOct2920:01:592018-[warning]Globalconfigurationfile/etc/masterha_default.cnfnotfound.Skipping.MonOct2920:01:592018-[info]Readingapplicationdefaultconfigurationfrom/etc/masterha/app1.cnf..MonOct2920:01:592018-[info]Readingserverconfigurationfrom/etc/masterha/app1.cnf..MonOct2920:01:592018-[info]StartingSSHconnectiontests..MonOct2920:02:012018-[debug]MonOct2920:01:592018-[debug]ConnectingviaSSHfromroot@192.168.8.57(192.168.8.57:22)toroot@192.168.8.58(192.168.8.58:22)..MonOct2920:02:002018-[debug]ok.MonOct2920:02:002018-[debug]ConnectingviaSSHfromroot@192.168.8.57(192.168.8.57:22)toroot@192.168.8.59(192.168.8.59:22)..MonOct2920:02:002018-[debug]ok.MonOct2920:02:002018-[debug]ConnectingviaSSHfromroot@192.168.8.57(192.168.8.57:22)toroot@192.168.8.61(192.168.8.61:22)..MonOct2920:02:012018-[debug]ok.MonOct2920:02:022018-[debug]MonOct2920:02:002018-[debug]ConnectingviaSSHfromroot@192.168.8.58(192.168.8.58:22)toroot@192.168.8.57(192.168.8.57:22)..MonOct2920:02:002018-[debug]ok.MonOct2920:02:002018-[debug]ConnectingviaSSHfromroot@192.168.8.58(192.168.8.58:22)toroot@192.168.8.59(192.168.8.59:22)..MonOct2920:02:012018-[debug]ok.MonOct2920:02:012018-[debug]ConnectingviaSSHfromroot@192.168.8.58(192.168.8.58:22)toroot@192.168.8.61(192.168.8.61:22)..MonOct2920:02:012018-[debug]ok.MonOct2920:02:022018-[debug]MonOct2920:02:002018-[debug]ConnectingviaSSHfromroot@192.168.8.59(192.168.8.59:22)toroot@192.168.8.57(192.168.8.57:22)..MonOct2920:02:012018-[debug]ok.MonOct2920:02:012018-[debug]ConnectingviaSSHfromroot@192.168.8.59(192.168.8.59:22)toroot@192.168.8.58(192.168.8.58:22)..MonOct2920:02:012018-[debug]ok.MonOct2920:02:012018-[debug]ConnectingviaSSHfromroot@192.168.8.59(192.168.8.59:22)toroot@192.168.8.61(192.168.8.61:22)..MonOct2920:02:022018-[debug]ok.MonOct2920:02:032018-[debug]MonOct2920:02:012018-[debug]ConnectingviaSSHfromroot@192.168.8.61(192.168.8.61:22)toroot@192.168.8.57(192.168.8.57:22)..MonOct2920:02:012018-[debug]ok.MonOct2920:02:012018-[debug]ConnectingviaSSHfromroot@192.168.8.61(192.168.8.61:22)toroot@192.168.8.58(192.168.8.58:22)..MonOct2920:02:022018-[debug]ok.MonOct2920:02:022018-[debug]ConnectingviaSSHfromroot@192.168.8.61(192.168.8.61:22)toroot@192.168.8.59(192.168.8.59:22)..MonOct2920:02:022018-[debug]ok.MonOct2920:02:032018-[info]AllSSHconnectiontestspassedsuccessfully.

7.复制状况检查

MonOct2920:02:152018-[warning]Globalconfigurationfile/etc/masterha_default.cnfnotfound.Skipping.MonOct2920:02:152018-[info]Readingapplicationdefaultconfigurationfrom/etc/masterha/app1.cnf..MonOct2920:02:152018-[info]Readingserverconfigurationfrom/etc/masterha/app1.cnf..MonOct2920:02:152018-[info]MHA::MasterMonitorversion0.58.MonOct2920:02:172018-[info]GTIDfailovermode=1MonOct2920:02:172018-[info]DeadServers:MonOct2920:02:172018-[info]AliveServers:MonOct2920:02:172018-[info]192.168.8.57(192.168.8.57:3306)MonOct2920:02:172018-[info]192.168.8.58(192.168.8.58:3306)MonOct2920:02:172018-[info]192.168.8.59(192.168.8.59:3306)MonOct2920:02:172018-[info]192.168.8.61(192.168.8.61:3306)MonOct2920:02:172018-[info]AliveSlaves:MonOct2920:02:172018-[info]192.168.8.58(192.168.8.58:3306)Version=5.7.23-log(oldestmajorversionbetweenslaves)log-bin:enabledMonOct2920:02:172018-[info]GTIDONMonOct2920:02:172018-[info]Replicatingfrom192.168.8.57(192.168.8.57:3306)MonOct2920:02:172018-[info]PrimarycandidateforthenewMaster(candidate_masterisset)MonOct2920:02:172018-[info]192.168.8.59(192.168.8.59:3306)Version=5.7.23-log(oldestmajorversionbetweenslaves)log-bin:enabledMonOct2920:02:172018-[info]GTIDONMonOct2920:02:172018-[info]Replicatingfrom192.168.8.57(192.168.8.57:3306)MonOct2920:02:172018-[info]192.168.8.61(192.168.8.61:3306)Version=5.7.23-log(oldestmajorversionbetweenslaves)log-bin:enabledMonOct2920:02:172018-[info]GTIDONMonOct2920:02:172018-[info]Replicatingfrom192.168.8.57(192.168.8.57:3306)MonOct2920:02:172018-[info]CurrentAliveMaster:192.168.8.57(192.168.8.57:3306)MonOct2920:02:172018-[info]Checkingslaveconfigurations..MonOct2920:02:172018-[info]read_only=1isnotsetonslave192.168.8.58(192.168.8.58:3306).MonOct2920:02:172018-[info]read_only=1isnotsetonslave192.168.8.59(192.168.8.59:3306).MonOct2920:02:172018-[info]read_only=1isnotsetonslave192.168.8.61(192.168.8.61:3306).MonOct2920:02:172018-[info]Checkingreplicationfilteringsettings..MonOct2920:02:172018-[info]binlog_do_db=,binlog_ignore_db=MonOct2920:02:172018-[info]Replicationfilteringcheckok.MonOct2920:02:172018-[info]GTID(withauto-pos)issupported.SkippingallSSHandNodepackagechecking.MonOct2920:02:172018-[info]CheckingSSHpublickeyauthenticationsettingsonthecurrentmaster..MonOct2920:02:172018-[info]HealthCheck:SSHto192.168.8.57isreachable.MonOct2920:02:172018-[info]192.168.8.57(192.168.8.57:3306)(currentmaster)+--192.168.8.58(192.168.8.58:3306)+--192.168.8.59(192.168.8.59:3306)+--192.168.8.61(192.168.8.61:3306)MonOct2920:02:172018-[info]Checkingreplicationhealthon192.168.8.58..MonOct2920:02:172018-[info]ok.MonOct2920:02:172018-[info]Checkingreplicationhealthon192.168.8.59..MonOct2920:02:172018-[info]ok.MonOct2920:02:172018-[info]Checkingreplicationhealthon192.168.8.61..MonOct2920:02:172018-[info]ok.MonOct2920:02:172018-[info]Checkingmaster_ip_failover_scriptstatus:MonOct2920:02:172018-[info]/usr/local/bin/master_ip_failover--command=status--ssh_user=root--orig_master_host=192.168.8.57--orig_master_ip=192.168.8.57--orig_master_port=3306MonOct2920:02:172018-[info]OK.MonOct2920:02:172018-[warning]shutdown_scriptisnotdefined.MonOct2920:02:172018-[info]Gotexitcode0(Notmasterdead).MySQLReplicationHealthisOK.

8.复制测试

master

mysql>createtablet12(idint(6));QueryOK,0rowsaffected(0.09sec)mysql>showtables;+----------------+|Tables_in_test|+----------------+|t1||t10||t11||t12||t2||t3||t4||t5||t6||t7||t8||t9|+----------------+

slave1,slave2,slave3

mysql>showtables;+----------------+|Tables_in_test|+----------------+|t1||t10||t11||t12||t2||t3||t4||t5||t6||t7||t8||t9|+----------------+

三个slave节点数据一致,表t12创建成功。

二、删除节点

1.关闭slave3复制

mysql>stopslave;QueryOK,0rowsaffected(0.00sec)mysql>resetslave;QueryOK,0rowsaffected(0.04sec)mysql>showslavestatus\G***************************1.row***************************Slave_IO_State:Master_Host:192.168.8.57Master_User:replMaster_Port:3306Connect_Retry:60Master_Log_File:Read_Master_Log_Pos:4Relay_Log_File:localhost-relay-bin.000001Relay_Log_Pos:4Relay_Master_Log_File:Slave_IO_Running:NoSlave_SQL_Running:NoReplicate_Do_DB:Replicate_Ignore_DB:Replicate_Do_Table:Replicate_Ignore_Table:Replicate_Wild_Do_Table:Replicate_Wild_Ignore_Table:Last_Errno:0Last_Error:Skip_Counter:0Exec_Master_Log_Pos:0Relay_Log_Space:217Until_Condition:NoneUntil_Log_File:Until_Log_Pos:0Master_SSL_Allowed:NoMaster_SSL_CA_File:Master_SSL_CA_Path:Master_SSL_Cert:Master_SSL_Cipher:Master_SSL_Key:Seconds_Behind_Master:NULLMaster_SSL_Verify_Server_Cert:NoLast_IO_Errno:0Last_IO_Error:Last_SQL_Errno:0Last_SQL_Error:Replicate_Ignore_Server_Ids:Master_Server_Id:57Master_UUID:a92f70a4-d5ea-11e8-af28-080027c0450dMaster_Info_File:/mysql/data/master.infoSQL_Delay:0SQL_Remaining_Delay:NULLSlave_SQL_Running_State:Master_Retry_Count:86400Master_Bind:Last_IO_Error_Timestamp:Last_SQL_Error_Timestamp:Master_SSL_Crl:Master_SSL_Crlpath:Retrieved_Gtid_Set:Executed_Gtid_Set:a92f70a4-d5ea-11e8-af28-080027c0450b:1-4,a92f70a4-d5ea-11e8-af28-080027c0450d:1-15,a92f70a4-d5ea-11e8-af28-080027c0450f:1-8Auto_Position:1Replicate_Rewrite_DB:Channel_Name:Master_TLS_Version:1rowinset(0.00sec)

2.关闭slave3节点MySQL进程

mysqladmin-uroot-pmysqlshutdown

3.修改mha配置文件,删除以下配置

[server4]hostname=192.168.8.61port=3306

4.重启manager监控进程

5.复制环境检查

MonOct2920:17:372018-[warning]Globalconfigurationfile/etc/masterha_default.cnfnotfound.Skipping.MonOct2920:17:372018-[info]Readingapplicationdefaultconfigurationfrom/etc/masterha/app1.cnf..MonOct2920:17:372018-[info]Readingserverconfigurationfrom/etc/masterha/app1.cnf..MonOct2920:17:372018-[info]MHA::MasterMonitorversion0.58.MonOct2920:17:382018-[info]GTIDfailovermode=1MonOct2920:17:382018-[info]DeadServers:MonOct2920:17:382018-[info]AliveServers:MonOct2920:17:382018-[info]192.168.8.57(192.168.8.57:3306)MonOct2920:17:382018-[info]192.168.8.58(192.168.8.58:3306)MonOct2920:17:382018-[info]192.168.8.59(192.168.8.59:3306)MonOct2920:17:382018-[info]AliveSlaves:MonOct2920:17:382018-[info]192.168.8.58(192.168.8.58:3306)Version=5.7.23-log(oldestmajorversionbetweenslaves)log-bin:enabledMonOct2920:17:382018-[info]GTIDONMonOct2920:17:382018-[info]Replicatingfrom192.168.8.57(192.168.8.57:3306)MonOct2920:17:382018-[info]PrimarycandidateforthenewMaster(candidate_masterisset)MonOct2920:17:382018-[info]192.168.8.59(192.168.8.59:3306)Version=5.7.23-log(oldestmajorversionbetweenslaves)log-bin:enabledMonOct2920:17:382018-[info]GTIDONMonOct2920:17:382018-[info]Replicatingfrom192.168.8.57(192.168.8.57:3306)MonOct2920:17:382018-[info]CurrentAliveMaster:192.168.8.57(192.168.8.57:3306)MonOct2920:17:382018-[info]Checkingslaveconfigurations..MonOct2920:17:382018-[info]read_only=1isnotsetonslave192.168.8.58(192.168.8.58:3306).MonOct2920:17:382018-[info]read_only=1isnotsetonslave192.168.8.59(192.168.8.59:3306).MonOct2920:17:382018-[info]Checkingreplicationfilteringsettings..MonOct2920:17:382018-[info]binlog_do_db=,binlog_ignore_db=MonOct2920:17:382018-[info]Replicationfilteringcheckok.MonOct2920:17:382018-[info]GTID(withauto-pos)issupported.SkippingallSSHandNodepackagechecking.MonOct2920:17:382018-[info]CheckingSSHpublickeyauthenticationsettingsonthecurrentmaster..MonOct2920:17:382018-[info]HealthCheck:SSHto192.168.8.57isreachable.MonOct2920:17:382018-[info]192.168.8.57(192.168.8.57:3306)(currentmaster)+--192.168.8.58(192.168.8.58:3306)+--192.168.8.59(192.168.8.59:3306)MonOct2920:17:382018-[info]Checkingreplicationhealthon192.168.8.58..MonOct2920:17:382018-[info]ok.MonOct2920:17:382018-[info]Checkingreplicationhealthon192.168.8.59..MonOct2920:17:382018-[info]ok.MonOct2920:17:382018-[info]Checkingmaster_ip_failover_scriptstatus:MonOct2920:17:382018-[info]/usr/local/bin/master_ip_failover--command=status--ssh_user=root--orig_master_host=192.168.8.57--orig_master_ip=192.168.8.57--orig_master_port=3306MonOct2920:17:392018-[info]OK.MonOct2920:17:392018-[warning]shutdown_scriptisnotdefined.MonOct2920:17:392018-[info]Gotexitcode0(Notmasterdead).MySQLReplicationHealthisOK.

感谢各位的阅读,以上就是“MySQL5.7中MHA怎么添加或删除slave节点”的内容了,经过本文的学习后,相信大家对MySQL5.7中MHA怎么添加或删除slave节点这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!