一、目的
本文记录了在Windows环境中,mysql数据库读写分离配置过程。
二、准备:
Master机器:Windows 10 虚拟机,IP:192.168.3.32
Slave机器:Windows 10,IP:192.168.3.27
mysql数据库:5.7.23
三、前期准备:
在Master及Slave机器上分别安装好mysql数据库软件,并分别安装好所需读写分离的数据库实例。
四、配置:
1.配置Master数据库:
mysql数据库5.7版本中的my.ini文件所在目录为:C:\ProgramData\MySQL\MySQL Server 5.7,进入目录,打开my.ini文件,并着重修改或添加以下内容:
server-id=1log-bin=mysql-bin
binlog-do-db=invite_business
保存文件后重启mysql服务,然后运行命令(本示例中Master及Slave中用户名均为root,密码root)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root'WITH GRANT OPTION;
FLUSH PRIVILEGES;
授权root用户可以远程访问本机mysql数据库。或者使用Navicat软件连接本机mysql,点击用户按钮,添加root远程用户,授权后也可以达到相同效果。
然后在mysql命令行界面,运行命令:
show master status;
查看主数据库的日志文件名称及当前日志的最新位置,以便配置从数据库。
至此,mysql主数据库配置完成。
2.配置从数据库
打开C:\ProgramData\MySQL\MySQL Server 5.7\my.ini文件,修改其中的server-id选项,使之与Master库的id不同,并添加其他选项,如下所示:
log-bin=mysql-bin
replicate-do-db=invite_business
保存后,重启mysql服务,使之生效。
打开从库命令行界面,运行命令,关闭同步功能。
stop slave;
然后运行关键语句:
change master to master_host='192.168.3.32',master_user='root',master_password='root',master_log_file='mysql-bin.000005',master_log_pos=8233980
注意:master_log_file及master_log_pos以实际Master库配置为准,不能搞错。
之后,运行命令,重启同步功能:
start slave;
五、数据同步测试
1.在主库中更改数据:
2.查看从库相应数据:
测试完毕。