MHA 学习 配备文件
发布时间:2022-03-26 19:41:58 所属栏目:MySql教程 来源:互联网
导读:MHA 学习 配备文件 一 配置 所有 主机的 ssh key 认证 ssh-keygen -t rsa ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.103 二 数据库授权 grant all privileges on *.* TO mha@192.168.% IDENTIFIED BY test; 三 配额文件 /etc/masterha_default.
MHA 学习 配备文件 一 配置 所有 主机的 ssh key 认证 ssh-keygen -t rsa ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.103 二 数据库授权 grant all privileges on *.* TO mha@'192.168.%' IDENTIFIED BY 'test'; 三 配额文件 /etc/masterha_default.cnf [server default] user=mha password=test ssh_user=root master_binlog_dir= /zx/mysql/data remote_workdir=/var/log/mha/app1 # secondary_check_script= masterha_secondary_check -s master1 -s master2 ping_interval=3 master_ip_failover_script=/etc/mha/scripts/master_ip_failover # shutdown_script= /etc/mha/scripts/power_manager # report_script= /etc/mha/scripts/send_master_failover_mail #master_ip_online_change_script=/etc/mha/scripts/master_ip_online_change [root@manager mha]# cat /etc/mha/app1.cnf [server default] manager_log=/var/log/mha/app1/manager.log manager_workdir=/var/log/mha/app1.log master_binlog_dir=/zx/mysql/data password=test ping_interval=2 repl_password=zhangxu repl_user=repl_user ssh_user=root user=mha [server1] candidate_master=1 check_repl_delay=0 hostname=master2 port=3306 [server2] candidate_master=1 check_repl_delay=0 hostname=master1 port=3306 [root@manager mha]# cat scripts/master_ip_failover #!/usr/bin/env perl use strict; use warnings FATAL => 'all'; use Getopt::Long; my ( $command, $ssh_user, $orig_master_host, $orig_master_ip, $orig_master_port, $new_master_host, $new_master_ip, $new_master_port ); my $vip = '192.168.248.100'; # Virtual IP my $gateway = '192.168.1.1';#Gateway IP my $interface = 'eth2'; my $key = "1"; my $ssh_start_vip = "/sbin/ifconfig $interface:$key $vip;/sbin/arping -I $interface -c 3 -s $vip $gateway >/dev/null 2>&1"; my $ssh_stop_vip = "/sbin/ifconfig $interface:$key down"; GetOptions( 'command=s' => $command, 'ssh_user=s' => $ssh_user, 'orig_master_host=s' => $orig_master_host, 'orig_master_ip=s' => $orig_master_ip, 'orig_master_port=i' => $orig_master_port, 'new_master_host=s' => $new_master_host, 'new_master_ip=s' => $new_master_ip, 'new_master_port=i' => $new_master_port, ); exit &main(); sub main { print "nnIN SCRIPT TEST====$ssh_stop_vip==$ssh_start_vip===nn"; if ( $command eq "stop" || $command eq "stopssh" ) { # $orig_master_host, $orig_master_ip, $orig_master_port are passed. # If you manage master ip address at global catalog database, # invalidate orig_master_ip here. my $exit_code = 1; eval { print "Disabling the VIP on old master: $orig_master_host n"; &stop_vip(); $exit_code = 0; }; if ($@) { warn "Got Error: $@n"; exit $exit_code; } exit $exit_code; } elsif ( $command eq "start" ) { # all arguments are passed. # If you manage master ip address at global catalog database, # activate new_master_ip here. # You can also grant write access (create user, set read_only=0, etc) here. my $exit_code = 10; eval { print "Enabling the VIP - $vip on the new master - $new_master_host n"; &start_vip(); $exit_code = 0; }; if ($@) { warn $@; exit $exit_code; } exit $exit_code; } elsif ( $command eq "status" ) { print "Checking the Status of the script.. OK n"; `ssh $ssh_user@$orig_master_host " $ssh_start_vip "`; exit 0; } else { &usage(); exit 1; } } # A simple system call that enable the VIP on the new master sub start_vip() { `ssh $ssh_user@$new_master_host " $ssh_start_vip "`; } # A simple system call that disable the VIP on the old_master sub stop_vip() { `ssh $ssh_user@$orig_master_host " $ssh_stop_vip "`; } sub usage { "Usage: master_ip_failover --command=start|stop|stopssh|status --orig_master_host=host --orig_master_ip=ip --orig_master_port=port --new_master_host=host --new_master_ip=ip --new_master_port=portn"; } 启动脚本 nohup masterha_manager --ignore_last_failover --remove_dead_master_conf --conf=/etc/mha/app1.cnf --remove_dead_master_conf < /dev/null > /var/log/mha/app1/app1.log 2>&1 & 检查复制 masterha_check_repl --conf=/etc/mha/app1.cnf 检查ssh masterha_check_ssh --conf=/etc/mha/app1.cnf 检查 mha 状态 masterha_check_status --conf=/etc/mha/app1.cnf 切换完成后 进程就死掉了 重新修改配置文件。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |