Mysql8.0.xx(我这里安装的Mysql8.0.20)配置主从复制(Windows服务器)

01、首先是分别在两个服务器上安装mysql(可以参考 https://blog.csdn.net/mayunju/article/details/90599019)

02、接下来在主服务器(Master)上创建一个具有REPLICATION SLAVE权限的用户,命令如下:

mysql> CREATE USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'yourPassword';
Query OK, 0 rows affected (0.01 sec)

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> show grants for repl;
+----------------------------------------------+
| Grants for repl@%                            |
+----------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO `repl`@`%` |
+----------------------------------------------+
1 row in set (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

03、在配置主从复制前,保证两个数据库(Master和Slave)的数据一致,首先将主数据库(Master)中需要配置主从的数据库数据导出来,使用如下命令,然后导入到从数据库(Slave)中(注意执行这条命令之前不要用use切换到任何数据库下,直接在bin目录下执行就行,不用提前登录):

mysqldump -uroot -p --databases database1 database2 database3 > C:\Users\Administrator\Desktop\master_db.sql;

04、修改主服务器的my.ini配置文件:

[mysqld]
# 主要是加如下内容 log-bin、binlog-do-db、binlog-ignore-db、server-id
log-bin = mysql-bin

# 待同步的数据库
# 需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
binlog-do-db = database1
binlog-do-db = database2
binlog-do-db = database3
binlog-do-db = database4
# 不同步mysql系统数据库
binlog-ignore-db = mysql
server-id = 1

05、修改从服务器的my.ini配置文件:

[mysqld]
log-bin = mysql-bin
# 待同步的数据库
# 需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
binlog-do-db = database1
binlog-do-db = database2
binlog-do-db = database3
binlog-do-db = database4
# 不同步mysql系统数据库
binlog-ignore-db = mysql
server-id = 2

06、重启一下主从服务器的mysql服务

07、查询主数据库状态,并记录下File和Position字段的值

show master status;

08、在从服务器上执行如下命令:

change master to master_host='xx.xxx.xxx.xx',master_user='repl',
master_password='主服务器具有复制权限的账号密码',master_log_file='mysql-bin.000002',
master_log_pos=xxx;


start slave;

SHOW SLAVE STATUS\G
;

 

你可能感兴趣的:(mysql)