安装keepalived

  1. yum -y install keepalived

Keepalived主从配置文件修改

主配置文件

vim /etc/keepalived/keepalived.conf

  1. global_defs {
  2. router_id mysql-master
  3. }
  4. vrrp_script check_mysql {
  5. script "/data/scripts/check_mysql.sh"
  6. interval 3
  7. }
  8. vrrp_sync_group VG1 {
  9. group {
  10. VI_1
  11. }
  12. }
  13. vrrp_instance VI_1 {
  14. state BACKUP
  15. interface ens33
  16. virtual_router_id 51
  17. priority 100
  18. advert_int 1
  19. nopreempt
  20. authentication {
  21. auth_type PASS
  22. auth_pass thisIsPassword
  23. }
  24. virtual_ipaddress {
  25. 192.168.0.70
  26. }
  27. track_script {
  28. check_mysql
  29. }
  30. }

从配置文件

vim /etc/keepalived/keepalived.conf

  1. global_defs {
  2. router_id mysql-slave
  3. }
  4. vrrp_script check_mysql {
  5. script "/data/scripts/check_mysql.sh"
  6. interval 3
  7. }
  8. vrrp_sync_group VG1 {
  9. group {
  10. VI_1
  11. }
  12. }
  13. vrrp_instance VI_1 {
  14. state BACKUP
  15. interface ens33
  16. virtual_router_id 51
  17. priority 99
  18. advert_int 1
  19. nopreempt
  20. authentication {
  21. auth_type PASS
  22. auth_pass thisIsPassword
  23. }
  24. virtual_ipaddress {
  25. 192.168.0.70
  26. }
  27. track_script {
  28. check_mysql
  29. }
  30. }

定义监控脚本

vim /data/scripts/check_mysql.sh

  1. #!/bin/bash
  2. mysqldState=$(ps -C mysqld --no-header | wc -l)
  3. if [ $mysqldState -eq 0 ];then
  4. systemctl stop keepalived
  5. fi