08-搭建主从复制环境
(1)在ip81上执行备份:
[mysql@ip81~]$mysqldump --master-data=2 --single-transaction --default-character-set=gbk -R --triggres -A >all.sql
其中--master-data=2代表备份时刻记录master的Binlog位置和Position,--single-transaction意思是获取一致性快照,-R意思是备份相关的存储过程,--triggres的意思是备份触发器相关信息,-A代表备份所有schema。
(2)在ip81上创建复制用户:
mysql>grant replication slave on . to 'repl'@'192.168.7.%' identified by '123456';
( 3 )查看主库上备份时刻 Binlog 的名称和位置, MASTER_LOG_FILE 和 MASTER_LOG_POS:
head -n 30 backup.sql |grep -i "CHANGE MASTER TO"
--CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000043', MASTER_LOG_POS=178;
(4)将备份复制到ip83和ip185:
[mysql@ip81 ~]$scp backup.sql ip83:/home/mysql/
[mysql@ip81 ~]$scp backup.sql ip185:/home/mysql/
(5)在ip83上搭建备库:
[mysql@ip83 ~]mysql -f –default-character-set=gbk <all.sql
[mysql@ip83 ~]mysql –S /tmp/mysql_3307.sock
Mysql>change master to master_host='192.168.7.81',masteruser='repl',master password='123456', master_Port=3307,MASTER_LOG_FILE=' mysql-bin.000043', MASTER_LOG_POS=178;
start slave;
查看复制状态:
show slave status\G;
Master_Host: 192.168.7.81
Master_User: repl
Master_Port: 3307
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
可以看到复制成功。
(6)在ip185上搭建备库:
[mysql@ip185~]mysql -f –default-character-set=gbk <all.sql
[mysql@ip185~]mysql –S /tmp/mysql_3307.sock
mysql>change master to master_host='192.168.7.81',master_user='repl',master_password='123456',master_Port=3307,MASTER_LOG_FILE=' mysql-bin.000043', MASTER_LOG_POS=178;
mysql>start slave;
查看复制状态:
show slave status\G;
Master_Host: 192.168.7.81
Master_User: repl
Master_Port: 3307
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
可以看到复制成功。
(7)slave服务器设置 read only。
将每个 slave设置为 read only:
Mysql>mysql -e "set global read_only=1;”
从库对外提供读操作,这里将read_only设置为1。
(8)创建监控用户。
整个复制集群已经搭建完毕,这时还需要创建监控所需的用户,在ip81上执行:
mysql>grant all privileges on . to 'root'@'192.168.7.%' identified by '123456';
至此,MHA软件已经基本安装完毕。接下来就开始配置MHA软件。