vlambda博客
学习文章列表

win10下如何配置mySql的主从同步


1)通过命令show global variables like '%datadir%'查看mySql的数据库文件的存储位置

win10下如何配置mySql的主从同步

这个ProgramData文件夹是隐藏的,打开隐藏文件夹后,我们就看到了my.ini文件


2)下载可解压版的mySql,并解压到D:\mySql\mysql-5.7.31-winx64\mysql-5.7.31-winx64,

然后从上面的my.ini拷贝一份,按照blog中的配置修改,并拷贝到指定路径下(注意mySql5.7只能拷贝到根目录下,

不要将文件拷贝到深层次文件中)


3)然后用管理员运行在bin目录下执行PowerShell

D:\mySql\mysql-5.7.31-winx64\mysql-5.7.31-winx64\bin> mysqld.exe install MySQL_Slave --defaults-file="D:\mySql\mysql-5.7.31-winx64\mysql-5.7.31-winx64\my.ini"

win10下如何配置mySql的主从同步


4)然后去计算机管理中,查看是否注册了新的服务MySql_Slave,

然后win+R输入regedit进入注册表,对新增服务的注册表参数ImagePath进行修改

"D:\mySql\mysql-5.7.31-winx64\mysql-5.7.31-winx64\bin\mysqld.exe" --defaults-file=D:\mySql\mysql-5.7.31-winx64\mysql-5.7.31-winx64\my.ini MySQL_Slave

win10下如何配置mySql的主从同步

然后去服务中查看,是否修改成功

win10下如何配置mySql的主从同步


5)然后执行服务初始化,不初始化无法启动

mysqld --initialize --basedir=D:/MySql_Slave --datadir=D:/MySql_Slave/data

win10下如何配置mySql的主从同步

如果不报错,就需要执行一段时间,自动换行后,说明执行成功。然后会生成data文件夹


6)去上一步生成的data文件中,打开log日志,查看初始化结果

win10下如何配置mySql的主从同步

win10下如何配置mySql的主从同步

A temporary password is generated for root@localhost: oWHnKD.j%3-o

oWHnKD.j%3-o


7)此时用powershell执行服务启动,注意在initialize后mySql可能会对my.ini进行改写,如果启动失败删除掉ini文件中的最后一行即可

win10下如何配置mySql的主从同步

win10下如何配置mySql的主从同步


8)用navicate连接时,输入了初始密码后,会提示已过期,请输入新密码,

win10下如何配置mySql的主从同步

为root配置新密码:XXXX

到此说明解压版的mySql已安装好,和安装版的mySql并不冲突。

PS:别忘了对解压版的mySql在Path中也设置环境变量。

win10下如何配置mySql的主从同步


9)开启主库的binlog日志记录

去主库的my.ini中修改文件,并且配置 binlog-do-db=需要同步的数据库,注意每次修改后要重启服务才能生效,

win10下如何配置mySql的主从同步

如果有多个库需要同步,则就配置多个binlog-do-db;binlog-ignore-db=不需要同步的数据库

重启主库,让上面修改的主库的my.ini文件生效

win10下如何配置mySql的主从同步

重启后,去主库的Data路径下查看配置是否生效

win10下如何配置mySql的主从同步

发现主库果然已经生成binlog日志了,证明配置生效。


10)去从库的my.ini中进行相应的配置

win10下如何配置mySql的主从同步

server-id=2和主库的1要不一致;增加要去主库同步的配置,也配置成mytest。

重启从库的服务。


11)为主库创建用于从库登录的账号,使用grant语法

win10下如何配置mySql的主从同步

grant replication slave on *.* to 'slave_login_user'@'127.0.0.1' identified by 'XXXX'

这个语句有两个作用1:创建账号(用户名为slave_login_user,密码为XXXX),2:为账号分配权限(replication slave)

win10下如何配置mySql的主从同步

如果执行失败,请使用root登录,因为只有root才有创建账号和分配功能的权限。(主库2个账号和root都是一个密码:XXXX)

重新用XXXX登录,查看效果:

win10下如何配置mySql的主从同步

用户创建成功,且这个账号是专门让从库来登录访问并获取binlog日志的账号

点击新建的主库账号查看权限是否分配成功

win10下如何配置mySql的主从同步


12)查看Master的binlog信息

去主库执行show master status;查看binlog数据(获取binlog的File和Position)

win10下如何配置mySql的主从同步

出现这个错误,说明当前账户没有SUPET和REPLICATION CLIENT权限。因此再次重新用root登录,为XXXX这个操作账号配置权限。

win10下如何配置mySql的主从同步

然后重新执行show master status;得到如下结果

win10下如何配置mySql的主从同步

记录结果

File=mysql-bin.000001

Position=667

后面的操作中需要用到。


13)然后进行最重要的操作,去从库配置要同步的主库

这一步骤至关重要,要用到之前给主库配置的从库访问账号 和 主库的binlog的File和Position信息,让从库登录主库。

先在从库执行stop slave;注意这个命令并不会让服务停止。

win10下如何配置mySql的主从同步

然后执行下面的命令:

change master to

    -> master_host='127.0.0.1',

    -> master_user='slave_login_user',

    -> master_password='XXXX',

    -> master_log_file='mysql-bin.000001',

    -> master_log_pos=667;

win10下如何配置mySql的主从同步

再执行start slave;

win10下如何配置mySql的主从同步


14)验证主从同步是否打通

执行show slave status;

win10下如何配置mySql的主从同步

得到一条“长结果集”记录,往右拉查看关键信息

这两个Yes说明配置成功,主从已经打通!!!可以去navicate正式验证了。