文章目录
准备
一共四台机器:
192.168.100.211:3306 (master-a)
192.168.100.212:3306 (slave-a-1)
192.168.100.213:3306 (master-b)
192.168.100.214:3306 (slave-b-1)
Centos8安装MySQL8
配置
1.配置192.168.100.211
master
-
编辑
my.cnf
vim /etc/my.cnf
加入以下内容:
#设置服务id server-id = 1 #启动binlog日志 log-bin=mysql-bin #设置binlog格式 row/mixed/statement binlog_format=statement #作为从数据库时,有写入操作也要更新二进制日志文件 log-slave-updates
-
重启服务:
service mysql restart
-
登录MySQL执行命令允许复制
mysql -uroot -p
执行:
mysql> grant replication slave on *.* to 'root'@'%' with grant option; Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
记住
Position
的值mysql> show master status; +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000001 | 157 | | | | +------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
2.配置192.168.100.212
slave
-
编辑
my.cnf
vim /etc/my.cnf
加入以下内容:
server-id = 2 relay-log=mysql-relay
-
重启服务:
service mysql restart
-
登录MySQL执行复制主机命令
mysql -uroot -p
执行:
mysql> CHANGE MASTER TO MASTER_HOST='192.168.100.211',MASTER_USER='root',MASTER_PASSWORD='Ztx11497',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=157; Query OK, 0 rows affected, 8 warnings (0.01 sec)
mysql> start slave; Query OK, 0 rows affected, 1 warning (0.01 sec) mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Master_Host: 192.168.100.211 Master_User: root Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 157 Relay_Log_File: mysql-relay.000001 Relay_Log_Pos: 4 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes ...
3.配置192.168.100.213
master
-
编辑
my.cnf
vim /etc/my.cnf
加入以下内容:
#设置服务id server-id = 3 #启动binlog日志 log-bin=mysql-bin #设置binlog格式 row/mixed/statement binlog_format=statement #作为从数据库时,有写入操作也要更新二进制日志文件 log-slave-updates
-
重启服务:
service mysql restart
-
登录MySQL执行命令允许复制
mysql -uroot -p
执行:
mysql> grant replication slave on *.* to 'root'@'%' with grant option; Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
记住
Position
的值mysql> show master status; +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000001 | 157 | | | | +------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
4.配置192.168.100.214
slave
-
编辑
my.cnf
vim /etc/my.cnf
加入以下内容:
server-id = 4 relay-log=mysql-relay
-
重启服务:
service mysql restart
-
登录MySQL执行复制主机命令
mysql -uroot -p
执行:
mysql> CHANGE MASTER TO MASTER_HOST='192.168.100.213',MASTER_USER='root',MASTER_PASSWORD='Ztx11497',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=157; Query OK, 0 rows affected, 8 warnings (0.01 sec)
mysql> start slave; Query OK, 0 rows affected, 1 warning (0.01 sec) mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Master_Host: 192.168.100.213 Master_User: root Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 157 Relay_Log_File: mysql-relay.000001 Relay_Log_Pos: 4 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes ...
5.配置master1
与master2
互为主备
- 在
master1
192.168.100.211
上执行CHANGE MASTER TO MASTER_HOST='192.168.100.213',MASTER_USER='root',MASTER_PASSWORD='Ztx11497',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=157;
start slave;
- 在
master2
192.168.100.213
上执行CHANGE MASTER TO MASTER_HOST='192.168.100.211',MASTER_USER='root',MASTER_PASSWORD='Ztx11497',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=157;
start slave;