Windows版MySQL实现主从分离

系统版本 :  Windows 10

MySQL 版本 :5.7.25

文中蓝色字体均为命令,

全部是在MySQL客户端的命令执行窗口   MySQL 5.7 Command Line Client  中执行以下命令。配置主数据库是在主数据库执行,配置从数据库是在从数据库执行,注意不要整错了。

说明:1.两台Windows服务器上均安装的是MySQL Server 5.7版本

2.在主从的服务器上分别找到以下路径的my.ini文件(默认安装路径下是以下路径)

C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

主数据库配置文件my.ini中的mysqld节点下加入

[mysqld]

server-id=1

log-bin=mysql-bin #从库会基于此log-bin来做复制

binlog-do-db=mytest #用于读写分离的具体数据库,这里我创建了mytest作测试

binlog_ignore_db=mysql #不用于读写分离的具体数据库

binlog_ignore_db=information_schema #binlog-do-db一样,可以设置多个

从数据库配置文件my.ini中mysqld节点下加入

[mysqld]

server-id=2

log-bin=mysql-bin #从库会基于此log-bin来做复制

replicate-do-db=mytest #用于读写分离的具体数据库,这里我创建了mytest作测试

 注1:绿色字体加入对应主从数据库my.ini文件中。(my.ini文件默认不可修改,可拷贝到桌面,修改后通过管理员权限覆盖)

注2:在对从数据库配置的时候,需要在文件内找到找到server-id,将它改成和主库不一样的,

多个从库时,可以递增填写

配置主数据库

开启主数据库服务,创建用来测试读写分离的数据库
对用户授权使其用于复制主库数据

GRANT ALL PRIVILEGES ON *.*  TO root@'%' IDENTIFIED BY '123456';

用户名:root
密码:123456

然后查询主数据库状态,并记录下FilePosition字段的值,命令为:

show master status;

我的查询出来是:
Filemysql-bin.000005
Position1767

 

配置从数据库

开启从数据库服务,手动创建测试读写分离的库,这边不会帮你自动创建,同时也创建和主库一样的用户,我这里还是用root
先停止从库

stop slave

设置它的master,命令为:

change master to

master_host='192.168.47.128',

master_port=3306,

master_user='root',

master_password='root',

master_log_file='mysql-bin.000005',

master_log_pos=1767;

注:这里的 master_log_filemaster_log_pos就是配置主数据库查询到的FilePosition

启动从库,即上文加粗的字体。

 然后开启从数据库

start slave;

检查是否启动成功

show slave status;

如果Slave_IO_State字段显示 Waiting for master to send event说明成功,当然你也可以在主库表中插入一条数据,看看从库是否有同步,到这里,已经配置好主从同步了。

此方法不能同步之前的数据,若需要同步之前的数据,可备份主数据库数据然后恢复到从数据库。或者通过数据日志来同步数据。

转载请注明出处,谢谢。

猜你喜欢

转载自www.cnblogs.com/Reskorey/p/10488702.html