mysql8双主双从搭建(二)

2023-10-02 17:26:31 百科 悟空

三、创建同步账号并授权

创建主主同步账号repl_user和主从同步账号slave_sync_user

主1、主2 数据库:

mysql> CREATE USER 'repl_user'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.03 sec)
 
mysql> CREATE USER 'slave_sync_user'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)
 
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
Query OK, 0 rows affected (0.00 sec)
 
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_sync_user'@'%';
Query OK, 0 rows affected (0.00 sec)

四、配置主从同步

1、主1 -->  从1

主1 mysql 下:

show master status;

记住 binlog文件 和 偏移量,后面会用到

从1 mysql 下:

CHANGE MASTER TO MASTER_HOST='192.168.168.224', MASTER_USER='slave_sync_user', MASTER_PASSWORD='123456', MASTER_LOG_FILE='binlog.000003', MASTER_LOG_POS=952;

start slave;

show slave status \G;

遇到不是两个 Yes (下面截图这种情况)怎么办,别慌,执行下面命令:

stop slave;
reset master;

然后再  CHANGE MASTER .....

2、主2 --> 从2

 主2 mysql 下:

show master status;

CHANGE MASTER TO MASTER_HOST='192.168.168.226', MASTER_USER='slave_sync_user', MASTER_PASSWORD='123456', MASTER_LOG_FILE='binlog.000004', MASTER_LOG_POS=356;

start slave;
show slave status \G;

3、主1 --> 主2

主1 mysql 下:

show master status;

 主2 mysql 下

CHANGE MASTER TO MASTER_HOST='192.168.168.224', MASTER_USER='repl_user', MASTER_PASSWORD='123456', MASTER_LOG_FILE='binlog.000003', MASTER_LOG_POS=952;

start slave;
show slave status \G;

 4、主2 --> 主1

主2 mysql 下

show master status;

主1 mysql 下:

CHANGE MASTER TO MASTER_HOST='192.168.168.226', MASTER_USER='repl_user', MASTER_PASSWORD='123456', MASTER_LOG_FILE='binlog.000004', MASTER_LOG_POS=156;
 

start slave;
show slave status \G;

五、测试

主1 mysql 下创建数据库 mydb2,创建表 books,插入一条数据:

 
create database mydb2;
create table books(id int primary key auto_increment, name varchar(50));
insert into books(name) values("MySQL 8");

查看 主1  主2 从1 从2  是否同步生成数据库、表、数据。

 

 

发表评论: