First, configure MySQL Master sync 1, modify/etc/my.cnf, create sync user Master104[[email protected] ~]# vim /etc/my.cnf[mysqld] server-id = 1 #backup这台设置2log-bin = mysql-binbinlog-ignore-db = mysql,information_schema #忽略写入binlog日志的库auto-increment-increment = 2 # Field change increment value auto-increment-offset = 1 #初始字段ID为1slave-skip-errors = all #忽略所有复制产生的错误 [[Email protected] ~]# service mysqld restart# viewing Log bin log and pos value locations [[email protected] ~]# mysql -uroot -pmysql> grant replication slave on *.* to ' replication ' @ ' 192.168.9.% ' identified by ' Replication '; query ok, 0 rows affected (0.00 sec) mysql> flush privileges; query ok, 0 rows affected (0.00 sec) backup106#106 configuring MySQL Master sync [[email protected] ~]# vim /etc/my.cnf [mysqld]server-id = 2 log-bin = mysql-binbinlog-ignore-db = mysql,information_schema auto-increment-increment = 2 auto-increment-offset = 1 slave-skip-errors = all [[email protected] ~]# service mysqld restart# View Log bin log and pos value locations [[Email protected] ~]# mysql -uroot -pmysql> grant replication slave on *.* to ' Replication ' @ ' 192.168.9.% ' identified by ' replication '; query ok, 0 rows affected (0.00 sec) mysql> flush privileges; query ok, 0 rows affected (0.00&NBSP;SEC) 2, configure MySQL master sync master 104[[email protected] ~]# mysql -uroot -pmysql> show master status;+--------------- ---+----------+--------------+--------------------------+| file | position | binlog_ do_db | binlog_ignore_db |+------------------+----------+--------------+----------------------- ---+| mysql-bin.000002 | 625 | | msyql,information_schema |+--------------- ---+----------+--------------+--------------------------+1 row in set (0.00 sec) mysql> change master to -> master_host= ' 192.168.9.106 ', -> master_user= ' replication ', -> master_password= ' replication ', -> master_log_file= ' mysql-bin.000002 ', -> master_log_pos=356; query ok, 0 rows affected (0.02 sec) mysql> start slave; query ok, 0 rows affected (0.00 sec) mysql> show slave status\g 1. row *************************** Slave_IO_State: Waiting for master to send event master_host: 192.168.9.106 master_ user: replication master_port: 3306 connect_retry: 60 master_log_file: Mysql-bin.000002 read_master_log_pos: 356 relay_log_file: 104-relay-bin.000002 relay_ Log_pos: 253 relay_master_log_file: mysql-bin.000002&nbSp slave_io_running: yes slave_sql_running: yesbackup 106[[email protected] ~]# mysql -uroot -pmysql> show master status;+------------------+----------+---- ----------+--------------------------+| file | position | binlog_do_db | binlog_ignore_db |+------------------+----------+--------------+--------------------------+| mysql-bin.000002 | 356 | | mysql,information_schema |+------------------+------- ---+--------------+--------------------------+1 row in set (0.00 sec) mysql> Change master to-> master_host= ' 192.168.9.104 ',-> master_user= ' replication ',-> master_password= ' replication ',-> master_log_file= ' mysql-bin.000002 ',-> master_log_pos= 625; query ok, 0 rows affected (0.02 sec) mysql> start slave; Query ok, 0 rows affected (0.00 sec) mysql> show slave status\g*************************** 1. row *************************** slave_io_state: waiting for master to send event master_host: 192.168.9.104 master_user: replication master_port : 3306 connect_retry: 60 master_log_file: mysql-bin.000002 read_master_log_pos: 625 relay_log_file: 106-relay-bin.000002 relay_log_pos: 253 relay_master_log_ file: mysql-bin.000002 slave_io_running: yes slave_sql_running: yes# if Slave_io_ Running and slave_sql_running Yes, the configuration master is normal, you can create a test under the second, configuration keepalived realize the dual master hot standby 1, #下载安装keepalived [[email protected] ~]# cd /usr/local/src/[[email protected] src]# wget http:// www.keepalived.org/software/keepalived-1.2.13.tar.gz[[email protected] src]# yum -y Install gcc gcc-c++ gcc-g77 ncurses-devel bison libaio-devel cmake libnl* libpopt* popt-static Openssl-devel[[email protected] src]# tar xf keepalived-1.2.13.tar.gz [[email protected] src]# cd keepalived-1.2.13[[email protected] keepalived-1.2.13]# ./configure --prefix=/usr/local/keepalived --disable-fwmark [[email protected] keepalived-1.2.13]# make[[email protected] keepalived-1.2.13]# make install2,# Configure keepalived configuration as a system service [[Email protected] keepalived-1.2.13]# cd /usr/local/keepalived/[[email protected] keepalived]# cp etc/rc.d/init.d/keepalived /etc/init.d/[[email Protected] keepalived]# cp etc/sysconfig/keepalived /etc/sysconfig/[[email protected] keepalived]# mkdir /etc/keepalived[[email protected] keepalived]# cp etc/ Keepalived/keepalived.conf /etc/keepalived/[[email protected] keepalived]# cp sbin/keepalived /usr/sbin/[[ email protected] keepalived]# chkconfig keepalived on[[email protected] Keepalived]# chkconfig --list keepalived keepalived 0:off 1:off 2:on 3 : On 4:on 5:on 6:off 3, #配置mysql热备Mater 104[[email protected] keepalived]# vim /etc/keepalived/keepalived.conf! configuration file for keepalivedglobal_defs { router_id mysql_ha #标识, double master same}vrrp_instance zabbix_mysql { state Backup #俩台都设置Backup interface eth0 virtual_router_id 53 #主备相同 priority 100 #优先级, Backup Settings 90 advert_int 1 nopreempt #不主动抢占资源, only in master this high priority setting, backup does not set authentication { auth_type PASS auth_pass sina } virtual_ipaddress { 192.168.9.123 } } virtual_server 192.168.9.123 3306 { delay_loop 6 nat_mask 255.255.255.0 persistence_timeout 50 protocol TCP real_server 192.168.9.104 3306 { weight 3 notify_down "/etc/keepalived/mysql.sh" TCP_CHECK { connect_timeout 5 nb_get_retry 2 delay_before_retry 3 } } }[[email protected] keepalived]# vim /etc/keepalived/mysql.sh#!/ bin/bash/etc/init.d/keepalived stop# Start keepalived[[email protected] keepalived]# /etc/ init.d/keepalived start[[email protected] keepalived]# ip addr1: lo: < Loopback,up,lower_up> mtu 16436 qdisc noqueue state unknown link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/ 128 scope host valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:ff:a5:92 brd ff:ff:ff:ff:ff:ff inet 192.168.9.104/24 brd 192.168.9.255 scope global eth0 inet 192.168.9.123/32 scope global eth0 inet6 fe80::20c:29ff:feff:a592/64 scope link valid_lft forever preferred_lft foreverbackup106[[email protected] keepalived]# Vim /etc/keepalived/keepalived.conf! configuration file for keepalivedglobal_defs { &nbSp; router_id mysql_ha }vrrp_instance zabbix_mysql { state Backup interface eth0 virtual_router_id 53 priority 90 advert_int 1 authentication { auth_type PASS auth_pass sina } virtual_ipaddress { 192.168.9.123 } } virtual_server 192.168.9.123 3306 { delay_loop 6 nat_mask 255.255.255.0 persistence_timeout 50 protocol tcp real_server 192.168.9.106 3306 { weight 3 notify_down "/ETc/keepalived/mysql.sh " TCP_CHECK { connect_timeout 5 nb_get_retry 2 delay_before_retry 3 } } }[[email protected] keepalived]# vim /etc/keepalived/mysql.sh#!/bin/bash/etc/init.d/keepalived stop[[email protected] keepalived]# chmod +x /etc/keepalived/mysql.sh# Start keepalived[[email protected] keepalived]# /etc/init.d/keepalived start[[email protected] keepalived]# ip ADDR4, verify 104 Stop mysqld[[email protected] keepalived]# service mysqld stopshutting Down mysql.... success! [[email protected] keepalived]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state unknown link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> MTU&NBSP;1500&NBSP;QDISC&NBSP;PFIFO_FAST&NBSP;STATE&NBSP;UP&NBSP;QLEN&NBSP;1000&NBSP;LINK/ETHER&NBSP;00:0C:29: Ff:a5:92 brd ff:ff:ff:ff:ff:ff inet 192.168.9.104/24 brd 192.168.9.255 scope global eth0 inet6 fe80::20c:29ff:feff:a592/64 scope link valid_lft forever preferred_lft Forever106[[email protected] keepalived]# ip addr1: lo: <loopback,up,lower_up > mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft Forever2: eth0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_ FAST&NBSP;STATE&NBSP;UP&NBSP;QLEN&NBSP;1000&NBSP;LINK/ETHER&NBSP;00:0C:29:C1:76:6B&NBSP;BRD&NBSP;FF:FF:FF:FF: Ff:ff inet 192.168.9.106/24 brd 192.168.9.255 scope global eth0 inet 192.168.9.123/32 scope global eth0 inet6 fe80::20c:29ff:fec1:766b/64 scope link valid_lft Forever preferred_lft forever
keepalived +mysql Primary Master Sync