【環境部署】centos7安裝mysql-5.7.19 group-replication
阿新 • • 發佈:2017-10-18
mysql初始化 add path data state mysqld _for boot serve
--mysql高可用官方文檔:
https://dev.mysql.com/doc/refman/5.7/en/group-replication.html
mysql下載地址:
https://www.mysql.com/downloads/ :下載這個:MySQL Community Server (GPL) 5.7.19版本
--安裝參考鏈接:
#mysql 組復制的原理介紹:
http://blog.itpub.net/29510932/viewspace-2055679/
#mysql group-replication安裝部署介紹
http://blog.csdn.net/yuanlin65/article/details/53782020
安裝拓撲圖:
172.27.129.2 mysql-ha-s1
172.27.129.3 mysql-ha-s2
172.27.129.4 mysql-ha-s3
安裝用戶:work
安裝位置:/mnt/disk01
#mysql-ha-s1安裝
--安裝前準備
#創建work用戶
groupadd work
useradd -g work work
#設置hostname以及hosts
hostnamectl set-hostname mysql-ha-s1
#在/etc/hosts裏面添加三臺機器的host解析
172.27.129.2 mysql-ha-s1
172.27.129.3 mysql-ha-s2
172.27.129.4 mysql-ha-s3
#關閉服務器防火墻與selinux
#關閉防火墻
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
#關閉selinux
/usr/sbin/sestatus -v
setenforce 0
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/selinux/config
#設置/mnt/disk01權限
chmod 777 /mnt/disk01
#開始安裝進程
#進入work用戶
su - work
tar -zxvf /home/work/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
mv /home/work/mysql-5.7.19-linux-glibc2.12-x86_64 /home/work/mysql-5.7.19
#安裝數據庫-配置文件與數據分開存儲
/home/work/mysql-5.7.19/bin/mysqld --no-defaults --initialize --explicit_defaults_for_timestamp --basedir=/mnt/disk01/mysql/ --datadir=/mnt/disk01/data
註:請記錄安裝提示中的初始密碼,例如:root@localhost: sdk>cO;Rq3B+
#mysql配置文件內容:
[mysqld] # server configuration datadir=/mnt/disk01/data basedir=/mnt/disk01/mysql #set plugin local value plugin_dir=/home/work/mysql-5.7.19/lib/plugin port=24801 socket=/tmp/mysql.sock # base config server_id=1 gtid_mode=ON user=mysql enforce_gtid_consistency=ON master_info_repository=TABLE relay_log_info_repository=TABLE binlog_checksum=NONE log_slave_updates=ON log_bin=binlog binlog_format=ROW # group replication transaction_write_set_extraction=XXHASH64 loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" loose-group_replication_start_on_boot=off loose-group_replication_local_address= "172.27.129.2:24901" loose-group_replication_group_seeds= "172.27.129.2:24901,172.27.129.3:24901,172.27.129.4:24901" loose-group_replication_bootstrap_group= off # open mutil_mode config loose-group_replication_single_primary_mode=FALSE loose-group_replication_enforce_update_everywhere_checks= TRUE
#創建配置文件 touch /mnt/disk01/mysql/my.cnf 將以上配置寫入配置文件。 #配置mysql環境變量 vi ~/.bash_profile 在“export PATH”上一行增加如下內容: PATH=$PATH:/home/work/mysql-5.7.19/bin 使配置文件生效:source ~/.bash_profile #啟動mysql數據庫 /home/work/mysql-5.7.19/bin/mysqld --defaults-file=/mnt/disk01/mysql/my.cnf & #非交互式修改初始密碼 /home/work/mysql-5.7.19/bin/mysqladmin -S /tmp/mysql.sock -u root -p‘sdk>cO;Rq3B+‘ password ‘your passwd’ #登錄數據庫: mysql -uroot -p‘your passwd’ #初始化與安裝啟動group-replication
SET SQL_LOG_BIN=0; CREATE USER rpl_user@‘%‘; GRANT REPLICATION SLAVE ON *.* TO rpl_user@‘%‘ IDENTIFIED BY ‘rpl_pass‘; FLUSH PRIVILEGES; SET SQL_LOG_BIN=1; CHANGE MASTER TO MASTER_USER=‘rpl_user‘, MASTER_PASSWORD=‘rpl_pass‘ FOR CHANNEL ‘group_replication_recovery‘; INSTALL PLUGIN group_replication SONAME ‘group_replication.so‘; SET GLOBAL group_replication_bootstrap_group=ON; START GROUP_REPLICATION; SET GLOBAL group_replication_bootstrap_group=OFF;
#查詢啟動狀態 SELECT * FROM performance_schema.replication_group_members; #安裝完畢 #mysql-ha-s2和mysql-ha-s3安裝
註:全程參照s1安裝,有以下幾點存在改變。
1、註意my.cnf的server_id 順延變為2和3
2、註意my.cnf的loose-group_replication_local_address順延
3、mysql初始化與啟動腳本按照如下操作:
SET SQL_LOG_BIN=0; CREATE USER rpl_user@‘%‘; GRANT REPLICATION SLAVE ON *.* TO rpl_user@‘%‘ IDENTIFIED BY ‘rpl_pass‘; FLUSH PRIVILEGES; SET SQL_LOG_BIN=1; CHANGE MASTER TO MASTER_USER=‘rpl_user‘, MASTER_PASSWORD=‘rpl_pass‘ FOR CHANNEL ‘group_replication_recovery‘; INSTALL PLUGIN group_replication SONAME ‘group_replication.so‘; set global group_replication_allow_local_disjoint_gtids_join=ON;
START GROUP_REPLICATION;
其他沒有區別。 安裝完成,進行測試即可。
[mysqld] # server configuration datadir=/mnt/disk01/data basedir=/mnt/disk01/mysql #set plugin local value plugin_dir=/home/work/mysql-5.7.19/lib/plugin port=24801 socket=/tmp/mysql.sock # base config server_id=1 gtid_mode=ON user=mysql enforce_gtid_consistency=ON master_info_repository=TABLE relay_log_info_repository=TABLE binlog_checksum=NONE log_slave_updates=ON log_bin=binlog binlog_format=ROW # group replication transaction_write_set_extraction=XXHASH64 loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" loose-group_replication_start_on_boot=off loose-group_replication_local_address= "172.27.129.2:24901" loose-group_replication_group_seeds= "172.27.129.2:24901,172.27.129.3:24901,172.27.129.4:24901" loose-group_replication_bootstrap_group= off # open mutil_mode config loose-group_replication_single_primary_mode=FALSE loose-group_replication_enforce_update_everywhere_checks= TRUE
#創建配置文件 touch /mnt/disk01/mysql/my.cnf 將以上配置寫入配置文件。 #配置mysql環境變量 vi ~/.bash_profile 在“export PATH”上一行增加如下內容: PATH=$PATH:/home/work/mysql-5.7.19/bin 使配置文件生效:source ~/.bash_profile #啟動mysql數據庫 /home/work/mysql-5.7.19/bin/mysqld --defaults-file=/mnt/disk01/mysql/my.cnf & #非交互式修改初始密碼 /home/work/mysql-5.7.19/bin/mysqladmin -S /tmp/mysql.sock -u root -p‘sdk>cO;Rq3B+‘ password ‘your passwd’ #登錄數據庫: mysql -uroot -p‘your passwd’ #初始化與安裝啟動group-replication
SET SQL_LOG_BIN=0; CREATE USER rpl_user@‘%‘; GRANT REPLICATION SLAVE ON *.* TO rpl_user@‘%‘ IDENTIFIED BY ‘rpl_pass‘; FLUSH PRIVILEGES; SET SQL_LOG_BIN=1; CHANGE MASTER TO MASTER_USER=‘rpl_user‘, MASTER_PASSWORD=‘rpl_pass‘ FOR CHANNEL ‘group_replication_recovery‘; INSTALL PLUGIN group_replication SONAME ‘group_replication.so‘; SET GLOBAL group_replication_bootstrap_group=ON; START GROUP_REPLICATION; SET GLOBAL group_replication_bootstrap_group=OFF;
#查詢啟動狀態 SELECT * FROM performance_schema.replication_group_members; #安裝完畢 #mysql-ha-s2和mysql-ha-s3安裝
SET SQL_LOG_BIN=0; CREATE USER rpl_user@‘%‘; GRANT REPLICATION SLAVE ON *.* TO rpl_user@‘%‘ IDENTIFIED BY ‘rpl_pass‘; FLUSH PRIVILEGES; SET SQL_LOG_BIN=1; CHANGE MASTER TO MASTER_USER=‘rpl_user‘, MASTER_PASSWORD=‘rpl_pass‘ FOR CHANNEL ‘group_replication_recovery‘; INSTALL PLUGIN group_replication SONAME ‘group_replication.so‘; set global group_replication_allow_local_disjoint_gtids_join=ON;
其他沒有區別。 安裝完成,進行測試即可。
【環境部署】centos7安裝mysql-5.7.19 group-replication