搭建mysql负载均衡及高可用环境(四)
echo "`date +%c` can not get vip" >> /opt/log/start_haproxy.log
14
fi
1
#!bin/bash
2
#stop_haproxy.sh
3
4
pid=`pidof haproxy`
5
echo "`date +%c` stop haproxy" >> /opt/log/stop_haproxy.log
6
kill -9 $pid
01
#!bin/bash
02
#stop_keepalived.sh
03
04
pid=`pidof keepalived`
05
if [ $pid == "" ]
06
then
07
echo "`date +%c` no keepalived process id" >> /opt/log/stop_keepalived.log
08
else
09
echo "`date +%c` will stop keepalived " >> /opt/log/stop_keepalived.log
10
/etc/init.d/keepalived stop
11
fi
=======================================================
[mysql Manager Slave]
#mysql 主备配置;两台设备上添加用户哦;
root#mysql
create database db1;
GRANT REPLICATION SLAVE ON *.* TO 'diaosi1'@'%' IDENTIFIED BY '123456';
#此处注意哦,Slave 权限必须的,我最初使用 all 权限,结果主备始终不同步,改成 Slave 就OK了;
flush privileges;
show grants for mydiaosi1@'%';
==================================================================
#server1 的 mysql 配置
server_id=1 #服务器标识,唯一
log_bin=mysqlbinlog #启用二进制日志
log_bin_index=mysqlbinlog-index #日志索引文件
log_slave_updates=1 #让从服务器把自身复制的事件和记录都写到自己的二进制日志里
relay_log=relay-log #中继日志位置;存放slave端获取到master端的二进制文件信息
replicate_do_db=db1 ##指定需要同步的数据库
#server2 的 mysql 配置
server_id=2
log_bin=mysqlbinlog
log_bin_index=mysqlbinlog-index
log_slave_updates=1
relay_log=relay-log
replicate_do_db=db1
#分别重启两服务
service mysqld restart
mysql> show master status; #查看mysql 的当前二进制日志文件
+--------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+----------+--------------+------------------+
| mysqlbinlog.000001 | 98 | | |
+--------------------+----------+--------------+------------------+
1 row in set (0.28 sec)
#分别连接对方 mysql 日志,开始备份;记得替换 Master_Host 和日志名及MASTER_LOG_POS;
>CHANGE MASTER TO MASTER_HOST='192.168.5.12',master_port=3306,MASTER_USER='mywait',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysqlbinlog.000001',MASTER_LOG_POS=98;
>START SLAVE; #开始同步
mysql> SHOW SLAVE STATUS\G #查看mysql同步状态
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.5.11
Master_User: mywait
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysqlbinlog.000001
Read_Master_Log_Pos: 98
Relay_Log_File: relay-log.000002
Relay_Log_Pos: 237
Relay_Master_Log_File: mysqlbinlog.000001
Slave_IO_Running: Yes #表明获取对方日志文件的连接成功;
Slave_SQL_Running: Yes #将获取到的日志转成sql语句回写本地数据库成功;
Replicate_Do_DB: db1
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 98
Relay_Log_Space: 237
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0