Windows环境下配置MySQL主从复制详细教程

一、下载mysql

下载地址:MySQL :: MySQL Community Downloads

1、点击箭头所指

 2、默认页面是下载mysql8,如果想下载mysql5点击箭头所指

3、点击箭头所指选择需要的版本

4、点击箭头所指可以选择32位或64位

5、然后点击download

二、解压压缩包

1、解压压缩包----->放置任意磁盘

 2、新建mysql配置文件ini
1)、新建文本文档,命名为my.ini

 2)、my.ini内容如下

[mysqld]
# 设置mysql的安装目录
basedir=D:\\soft\\mysql-5.7.39
# 设置mysql数据库的存放目录
datadir=D:\\soft\\mysql-5.7.39\\data
#设置3306端口
port=3306

#主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=txmysql-bin
#设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql

#设置需要复制的数据库
binlog-do-db=mydb1
#设置binlog格式,MIXED,ROW,STATEMENT
binlog_format=STATEMENT

sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

3、安装mysql,win10系统点击搜索cmd,然后以管理员身份运行

 4、切换bin目录,运行mysqld install命令安装

 5、输入命令启动mysql

net start mysql

 6、使用命令进入mysql管理界面

mysql -u root -p

 7、修改密码为: 123456

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

 8、刷新权限

flush privileges;

9、重启mysql

net stop mysql
net start mysql

10、第一个mysql安装完成

三、安装第二个MySQL服务

1、第一个MySQL服务安装完毕后,将MySQL的文件夹重新复制一份,并重命名为mysql-5.7.39-slave。修改下该文件夹下的my.ini文件,

[mysqld]
# 设置mysql的安装目录
basedir=D:\\soft\\mysql-5.7.39-slave
# 设置mysql数据库的存放目录
datadir=D:\\soft\\mysql-5.7.39-slave\\data
#设置3307端口
port=3307

#从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay


sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

2、同样以管理身份运行cmd,切换到mysql-5.7.39-slave/bin目录下,执行:

mysqld.exe --install mysqlc2 --defaults-file=D:\soft\mysql-5.7.39-slave\my.ini

说明:D:\soft\mysql-5.7.39-slave\my.ini是你自己的路径  ,mysqlc2是起的别名

然后以mysqlc2启动服务     

net start mysqlc2   

四、主从复制配置

1、用navicat连接上主数据库进行操作(一条条执行)

#创建用户
CREATE USER 'slave'@'localhost' IDENTIFIED BY '123456';

#授权用户
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'localhost';


#刷新权限
FLUSH PRIVILEGES;

show master status;

 

 2、从库slave指向master地址,在从库中使用命令:

#master_host 主数据库地址
CHANGE MASTER TO master_host ='127.0.0.1',
#上一步中主数据库创建的从库用户
master_user ='slave',
#上一步中主数据库创建的从库密码
master_password ='123456',
#上一步中保存的file
master_log_file ='txmysql-bin.000004',
#上一步中保存的position
master_log_pos = 567;

 3、执行命令启动

start slave

4、使用命令show slave status查看从库状态

show slave status

 5、问题:

如果是Slave_IO_Running:No,可能是由于uuid相同,而导致异常(因为直接复制的)。

修改D:\soft\mysql-5.7.39-slave\data\auto.cnf,把里面的server-uuid修改成不一样的值即可。重新启动从库mysql服务

6、可以以下边的两个error查询解决办法:

最后我们可以在主库新增、修改和删除,会发现从库跟着变化了。此时,主从复制配置完成。

  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值