本地Mysql5.7主从(Master/Slave)安装详解,my.ini文件配置
找到Master mysql的位置
C:\Program Files\MySQL\MySQL Server 5.7
复制文件夹到你所需要的目录,我是在D:\Mysql separation\MySQL Server 5.7-3308复制的,然后改名字,这样便于区分,
复制my.ini,创建data文件夹
改变my.ini 中mysqlId的端口和文件位置
port=3308,
basedir=D:/Mysql separation/MySQL Server 5.7-3308
datadir=D:/Mysql separation/MySQL Server 5.7-3308/data
注意这边是以反斜杠
初始化mysql:
最好是以管理员的身份运行cmd
进入D:\Mysql separation\MySQL Server 5.7-3308\bin
运行mysqld -initialize -insecure -user=mysql,
这时data文件夹会多出几个文件,
从c盘的mysql中复制系统自带的几个表和你要主从复制的表,
复制ibdata1表数据
我的路径是:C:\ProgramData\MySQL\MySQL Server 5.7\Data
这边我没有把我要主从的表划上,你们别忘了
启动服务:
服务名称就是显示在window中的,唯一的,我这边服务名称是mysql-3308
进入cmd(管理员)
Master的my.ini配置
现在开始配置主从配置,原理是每次操作数据,系统会生成一个二进制的日志,我们需要的就是读取这个日志,这个默认是关闭的,我们需要开启它;
打开C:\ProgramData\MySQL\MySQL Server 5.7中的my.ini
在mysqld中设置打开
log-bin=mysql-bin
binlog-do-db=mamabike,表示的是需要同步的数据库
注意这边的server-id,和后面设置的slave的不能相同
Slave的my.ini配置
设置D:\Mysql separation\MySQL Server 5.7-3308中的my.ini
log-bin=mysql-bin
replicate-do-db=mamabike
设置server-id=3(默认为1,我这边有两个从库,这个是第三个)
注意操作配置文件的时候要关闭服务
开启服务
可以使用命令行net start mysq-3308
我这边是使用navicat可视化工具进一步操作
新建链接:
进入master的mysql的需要同步的库,查询position,file
show master status
切换到slave数据库
运行代码
CHANGE MASTER TO master_host = '127.0.0.1',
master_port = 3306,
master_user = 'root',
master_password = '123456',
master_log_file = 'mysql-bin.000001',
master_log_pos = 734;
这边最后的master_log_pos就是上面我们的position,注意这边的账号密码,初始都是root,自己看清楚,我这边是我自己修改过的,还有注意这边的file要和master的相同
开始slave
start slave
show slave status
注意的是这边的log_file也是要相同的。看到slave_io_running和
slave_sql_running 是yes的话就可以了
测试一下:
在master中添加
一些容易出错纠正的地方,有时候start slave的时候出错了,需要关闭
slave,stop slave
比如不喜欢这个服务的名字,需要删除的时候你就可以在bin的目录下
mysqld --remove mysql-3308