配置環境
配置環境
IP 192.168.1.2 client客戶端
192.168.1.1/2.1 路由器(兩塊網卡)
192.168.2.2 (Vip:192.168.2.250)分發1 需要:yum install ipvsadm -y
192.168.2.3 (Vip:192.168.2.250)apache服務器 需要:yum install httpd -y 解壓 mysql-w-r.tar。
192.168.2.4 (Vip:192.168.2.250)apache服務器 需要:yum install httpd -y 解壓 mysql-w-r.tar。
192.168.2.5 (Vip:192.168.2.251)分發2 需要:yum install ipvsadm -y
192.168.2.6 Mysql 主 需要yum install mysql mysql-server -y
192.168.2.7 Mysql 從 需要yum install mysql mysql-server -y
192.168.2.8 Mysql 從從 需要yum install mysql mysql-server -y
環境配置完成
client客戶端設置
設定網關
route add default gw 192.168.1.1
結束。
路由器設置
開啓轉發
vim /etc/sysctl.conf
ifconfig eth0:0 192.168.2.251 netmask 255.255.255.255 broadcast 192.168.2.251 up
ipvsadm -A -t 192.168.2.251:3306 -s rr
ipvsadm -a -t 192.168.2.251:3306 -r 192.168.2.7 -g
ipvsadm -a -t 192.168.2.251:3306 -r 192.168.2.8 -g
結束
mysql主
進入配置文件
vim /etc/my.cnf
編輯添加
server_id = 1
log-bin=binlog
log-bin-index=binlog.index
添加用戶
mysql> GRANT replication slave ON *.* TO 'a'@'%' identified by '123';
mysql> flush privileges;
創建一個可以訪問Mysql主的b
grant all on *.* to 'b'@'%' identified by '123';
拷貝主數據
mysqldump -A -x > /tmp/full.sql
傳送給從
scp /tmp/full.sql [email protected]:/tmp
查看Mysql主的狀態
生產環境下可以鎖定
mysql> flush tables with read lock;(測試環境可以不用鎖定喲~)mysql> show master status;(查詢命令)
會顯示:
+---------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| binlog.000001 | 118 | | |mp
至此Mysql主配置結束
Mysql從
ifconfig lo:0 192.168.2.251 netmask 255.255.255.255 broadcast 192.168.2.251 up
route add -host 192.168.2.251 dev lo:0
route add default gw 192.168.2.1
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
如果之前使用過可以進入
cd /var/lib/mysql
輸入刪除所有
rm -fr *
重啓Mysql服務
service mysqld restart
進入配置文件
vim /etc/my.cnf
編輯添加
server_id = 2
relay_log = /var/lib/mysql/mysql-relay-bin
relay_log_index=/var/lib/mysql/mysql-relay-bin.index
添加用戶
grant all on *.* to 'c'@'%' identified by '123';
把之前Mysql主傳輸過來的數據添加到本地
mysql < /tmp/full.sql
還記得這個吧。輸入進來讓主從同步的關鍵啊~~~~~
+---------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| binlog.000001 | 118 | | |
在slave上執行一下命令(注意:master_host指到master的IP,master_user是master中爲slave創建的用戶,master_log_file是第九步查詢出來的File名,master_log_pos是第九步查詢出來的Position值)
mysql> change master to master_host='192.168.2.6, master_port=3306, master_user='a', master_password='123', master_log_file='binlog.000001',master_log_pos=118;
啓動Mysql從
mysql> start slave;
查看從的運行狀態:show slave status \G;
Ladies and gentlemen 你成功了麼?
Slave_IO_Running: Yes (主機之間的連通性)
Slave_SQL_Running: Yes(SQL運行狀態,是否同步了。)
mysql從從:
蛋疼!!不解釋!!00:02了。。
ifconfig lo:0 192.168.2.251 netmask 255.255.255.255 broadcast 192.168.2.251 up
route add -host 192.168.2.251 dev lo:0
route add default gw 192.168.2.1
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
vim /etc/my.cnf
server_id=3
relay_log=/var/lib/mysql/mysql-relay-bin
relay_log_index=/var/lib/mysql/mysql-relay-bin.index
grant all on *.* to 'c'@'%' identified by '123';
change master to master_host='192.168.2.6',master_port=3306,master_user='a',master_password='123',master_log_file='binlog.000001',master_log_pos=118;
start slave;
測試!!
看老史的!!!!!!