LVS+APACHE+PHP+MYSQL讀寫分離

route:
 ifconfig eth0 192.168.18.1
 ifconfig eth1 192.168.20.1
 echo 1 > /proc/sys/net/ipv4/ip_forward

分發器:
 ifconfig eth0 192.168.18.254
 ifconfig eth0:0 192.168.18.250/32 broadcast 192.168.18.250 up
 route add -host 192.168.18.250 dev eth0:0
 ipvsadm -A -t 192.168.18.250:3306 -s rr
 ipvsadm -a -t 192.168.18.250:3306 -r 192.168.18.100 -g
 ipvsadm -a -t 192.168.18.250:3306 -r 192.168.18.200 -g
 ipvsadm -a -t 192.168.18.250:3306 -r 192.168.18.220 -g
 
real server 1:
 ifconfig lo:0 192.168.18.250/32 broadcast 192.168.18.250 up
 route add -host 192.168.18.250 dev lo:0
 route add default gw 192.168.18.1
 echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
 echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
 /etc/init.d/httpd restart

real server 2:
 ifconfig lo:0 192.168.18.250/32 broadcast 192.168.18.250 up
 route add -host 192.168.18.250 dev lo:0
 route add default gw 192.168.18.1
 echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
 echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
 /etc/init.d/httpd restart

real server 3:
 ifconfig lo:0 192.168.18.250/32 broadcast 192.168.18.250 up
 route add -host 192.168.18.250 dev lo:0
 route add default gw 192.168.18.1
 echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
 echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
 /etc/init.d/httpd restart

Apache:
 解壓、安裝mysql-w-r.tar.gz
 修改指向數據庫IP

Mysql-A
 vim /etc/my.cnf
 [mysqld]
  server_id = 1
  log-bin=binlog
  log-bin-index=binlog.index
 service mysqld restart
 mysql> grant replication slave ON *.* TO 'ck'@'%' identified by '123';
 flush privileges;
 mysqldump -A -x > /tmp/full.sql
 scp /tmp/full.sql [email protected]:/tmp/
 scp /tmp/full.sql [email protected]:/tmp/
 flush tables with read lock;
 show master status;
+---------------+----------+--------------+------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| binlog.000001 |      568 |              |                  |
 unlock tables;

Mysql-B1:
 vim /etc/my.cnf
 [mysqld]
 server_id = 2
 relay_log = /var/lib/mysql/mysql-relay-bin
 relay_log_index=/var/lib/mysql/mysql-relay-bin.index
 cd /var/lib/mysql
 rm -fr *
 service mysqld restart
 mysql < /tmp/full.sql
 mysql> change master to master_host='192.168.18.100', master_port=3306, master_user='ck', master_password='123', master_log_file='binlog.000001',master_log_pos=568;
 start slave;
 show slave status \G
 Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
 

Mysql-B2:
 vim /etc/my.cnf
 [mysqld]
 server_id = 3
 relay_log = /var/lib/mysql/mysql-relay-bin
 relay_log_index=/var/lib/mysql/mysql-relay-bin.index
 cd /var/lib/mysql
 rm -fr *
 service mysqld restart
 mysql < /tmp/full.sql
 mysql> change master to master_host='192.168.18.100', master_port=3306, master_user='ck', master_password='123', master_log_file='binlog.000001',master_log_pos=568;
 start slave;
 show slave status \G
 Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
 
客戶端測試
 測試未知數。。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章