root@mysql-node1 \~\]# mysqld --user mysql --initialize #初始化
\[root@mysql-node1 \~\]# /etc/init.d/mysqld start
\[root@mysql-node1 \~\]# yum install chkconfig -y
\[root@mysql-node1 \~\]# mysql_secure_installation #重新设置密码
######
从一台已经源码安装好的快速安装另一台
\[root@mysql-node1 \~\]# yum install **rsync** -y #俩台都要安装
\[root@mysql-node1 \~\]# rsync -al -r mysql [email protected]:/usr/local
\[root@mysql-node2 \~\]# yum install rsync -y
\[root@mysql-node2 \~\]# mkdir /data/mysql -p
\[root@mysql-node2 \~\]# useradd -s /sbin/nologin -M mysql
\[root@mysql-node2 \~\]# chown -R mysql.mysql /data/mysql
cp mysql.server /etc/init.d/mysqld
\[root@mysql-node1 support-files\]# vim \~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
\[root@mysql-node2 support-files\]# source \~/.bash_profile
\[root@mysql-node2 \~\]# mysqld --user mysql --initialize
\[root@mysql-node2 \~\]# cd /usr/local/mysql/
\[root@mysql-node2 mysql\]# cd s
share/ support-files/
\[root@mysql-node2 mysql\]# cd s
share/ support-files/
\[root@mysql-node2 mysql\]# cd support-files/
\[root@mysql-node2 support-files\]# cp mysql.server /etc/init.d/mysql
\[root@mysql-node2 support-files\]# /etc/init.d/mysql start
主从复制
在node1
root@mysql-node1 \~\]# vim /etc/my.cnf
\[root@mysql-node1 \~\]# /etc/init.d/mysql restart
\[mysqld
datadir=/data/mysql
socket=/data/mysql/mysql.sock
symbolic-links=0
log-bin=mysql-bin
server-id=1
#进入数据库配置用户权限
root@mysql-node1 \~\]# mysql -p123
mysql\> CREATE USER 'repl'@'%' IDENTIFIED BY '123'
-\> ;
Query OK, 0 rows affected (0.00 sec)
mysql\>
mysql\> GRANT REPLICATION SLAVE ON \*.\* TO repl@'%';
Query OK, 0 rows affected (0.00 sec)
mysql\> show master status;
+------------------+----------+--------------+------------------+-------------------+
\| File \| Position \| Binlog_Do_DB \| Binlog_Ignore_DB \| Executed_Gtid_Set \|
+------------------+----------+--------------+------------------+-------------------+
\| mysql-bin.000001 \| 350 \| \| \| \|
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

mysql\> exit
Bye
\[root@mysql-node1 \~\]# cd /data/mysql/
\[root@mysql-node1 mysql\]# mysql
mysql mysql_config_editor mysqlimport mysql_ssl_rsa_setup
mysqladmin mysqld mysql_install_db mysqltest
mysqlbinlog mysqld_multi mysql_plugin mysqltest_embedded
mysqlcheck mysqld_safe mysqlpump mysql_tzinfo_to_sql
mysql_client_test mysqldump mysql_secure_installation mysql_upgrade
mysql_client_test_embedded mysqldumpslow mysqlshow mysqlxtest
mysql_config mysql_embedded mysqlslap
\[root@mysql-node1 mysql\]# mysqlbinlog mysql-bin.000001 -vv #查看二进制文件
配置salve
root@mysql-node2 \~\]# vim /etc/my.cnf
\[root@mysql-node2 \~\]# /etc/init.d/mysql restart
Shutting down MySQL. SUCCESS!
Starting MySQL. SUCCESS!
\[root@mysql-node2 \~\]# cat /etc/my.cnf
\[mysqld
datadir=/data/mysql
socket=/data/mysql/mysql.sock
symbolic-links=0
server-id=2
mysql> CHANGE MASTER TO CHANGE MASTER TO MASTER_HOST='172.25.250.10',MASTER_USER='repl',MASTER_PASSWORD='123',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=350
mysql> start slave;
mysql> SHOW SLAVE STATUS\G;
mysql> CREATE DATABASE ll;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE TABLE ll.userlist(
-> username varchar(20) not null,
-> password varchar(50) not null
-> );
Query OK, 0 rows affected (0.01 sec)
mysql> INSERT INTO ll.userlist VALUE('liming','123');
root@mysql-node3 \~\]# /etc/init.d/mysql restart
#停止slave端
\[root@mysql-node3 \~\]# mysql -p123 #node2和node3
mysql\> stop slave;
#开启slave端的gtid
mysql\> CHANGE MASTER TO MASTER_HOST='172.25.250.10',MASTER_USER='repl',MASTER_PASSWORD='123',MASTER_AUTO_POSITION=1;
启用半同步模式
在master端启用
root@mysql-node1 \~\]# cat /etc/my.cnf
\[mysqld
datadir=/data/mysql
socket=/data/mysql/mysql.sock
symbolic-links=0
log-bin=mysql-bin
server-id=1
gtid_mode=ON
enforce-gtid-consistency=ON
symbolic-links=0
rpl_semi_sync_master_enabled=1
root@mysql-node1 \~\]# mysql -p123
mysql\> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
###安装半同步插件
mysql\> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE '%semi%';
###查看插件情况
mysql\> SET GLOBAL rpl_semi_sync_master_enabled = 1;
#打开半同步功能
mysql\> SHOW VARIABLES LIKE 'rpl_semi_sync%';
##查看半同步功能状态
mysql\> SHOW STATUS LIKE 'Rpl_semi_sync%';
root@mysql-node1 \~\]# mysqld --user=mysql --initialize
\[root@mysql-node1 \~\]# /etc/init.d/mysqld start
\[root@mysql-node10 \~\]# mysql -uroot -p初始化后生成的密码 -e "alter user root@localhost identified by '123';"
#配置sql
\[root@mysql-node1 \~\]# mysql -p123
mysql\> SET SQL_LOG_BIN=0;
mysql\> CREATE USER rpl_user@'%' IDENTIFIED BY '123';
mysql\> GRANT REPLICATION SLAVE ON \*.\* TO rpl_user@'%';
mysql\> FLUSH PRIVILEGES;
mysql\> SET SQL_LOG_BIN=1;
mysql\> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='123' FOR CHANNEL 'group_replication_recovery';
mysql\> SET GLOBAL group_replication_bootstrap_group=ON;
mysql\> START GROUP_REPLICATION;
mysql\> SET GLOBAL group_replication_bootstrap_group=OFF;
mysql\> SELECT \* FROM performance_schema.replication_group_members;
#在复制配置文件到myql-node20和mysql-node30
root@mysql-node2 \~\]#scp /etc/my.cnf [email protected]:/etc/my.cnf
\[root@mysql-node2 \~\]# vim /etc/my.cnf
\[mysqld
root@mysql-node1 \~\]# mysqld --user=mysql --initialize
\[root@mysql-node1 \~\]# /etc/init.d/mysqld start
\[root@mysql-node10 \~\]# mysql -uroot -p初始化后生成的密码 -e "alter user root@localhost identified by '123';"
#配置sql
\[root@mysql-node1 \~\]# mysql -p123
mysql\> SET SQL_LOG_BIN=0;
mysql\> CREATE USER rpl_user@'%' IDENTIFIED BY '123';
mysql\> GRANT REPLICATION SLAVE ON \*.\* TO rpl_user@'%';
mysql\> FLUSH PRIVILEGES;
mysql\> SET SQL_LOG_BIN=1;
mysql\> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='123' FOR CHANNEL 'group_replication_recovery';
mysql\> SET GLOBAL group_replication_bootstrap_group=ON;
mysql\> START GROUP_REPLICATION;
mysql\> SET GLOBAL group_replication_bootstrap_group=OFF;
mysql\> SELECT \* FROM performance_schema.replication_group_members;
测试
在node1上面
mysql> CREATE TABLE bwmis.userlist(
-> username VARCHAR(10) PRIMARY KEY NOT NULL,
-> password VARCHAR(50) NOT NULL-> );
mysql>INSERT INTO bwmis.userlist VALUES ('user1','123'); node1上面
mysql>INSERT INTO bwmis.userlist VALUES ('user2','123') node2上面
mysql>INSERT INTO bwmis.userlist VALUES ('user1','123') node3上面