window下mysql8主从复制
1.在windows上安装两个mysql,网上有很多教程,这里就不说了。
2.mysql配置文件中[mysqld]下配置
2.1主库
//配一个唯一的ID编号,1至32。 手动设定
server-id=1
//二进制文件存放路径 ,不要在意为啥没有路径名,你就这样写
log-bin=mysql-bin
//设置要进行或不要进行主从复制的数据库名,同时也要在Slave(也就是你的从库) 上设定。
//binlog-do-db=进行主从数据库名1 ,进行主从数据库名2
binlog-do-db=unicom_0
binlog-do-db=unicom_1
binlog-do-db=unicom_2
//binlog-ignore-db=不参与主从的数据库名,不参与主从的数据库名2
binlog-ignore-db = mysql
2.2注意!!
在配置binlog-do-db时,若配置多个数据库千万别这样配置
binlog-do-db=unicom_0,unicom_1,unicom_2
这样配置是不行的,会造成数据无法同步,当初就被坑了。
2.3从库配置文件[mysqld]下配置
和上面2.1中一样,唯一不同的是serverId设置不同就行了
3.进入安装mysql(主库)的bin目录下,如下图:
1.接着输入命令show master status; 如下图
注意上面图中file字段的值和position的值配置从库时需要用到。
2.创建一个用户,输入如下命令
2.1创建用户
CREATE USER ‘warm‘@‘%‘ IDENTIFIED BY ‘warm123456‘;
warm代表用户名,%代表允许所有ip链接数据库,warm123456代表密码。
2.2给用户赋予权限
GRANT REPLICATION SLAVE ON . TO ‘warm‘@‘%‘;
2.3刷新权限
flush privileges;
4.进入从库的bin目录下,在命令行中进入mysql后,输入如下命令
change master to master_host=‘127.0.0.1’,master_user=‘warm’,master_password=‘warm123456’,master_log_file=‘mysql-bin.000006’,master_log_pos=115;
上面命令中,master_host代表主库的ip地址,master_user为上面步骤2中创建的用户的用户名,master_password为用户密码,
master_log_file为show master status命令图中的file字段对应的值,master_log_pos与position字段对应的值。
5.在从库中接着输入命令show slave status\G
出现如上图中的两个yes,说明配置成功。若是NO,则需执行命令start slave ,开启主从复制。