Windows 下配置 MySQL 主从复制

一、 环境准备

主库: master

os: win7

ip: 196.6.8.163

database: mysql-8.0.12-winx64

port: 3306

从库: slave

os: win7

ip: 196.6.8.163

database: mysql-8.0.13-winx64

port: 3307

注:因为虚拟机出现问题,不能在多个机器上配置,因此在一台机器上安装两

个版本来配置主从复制。

二、 数据库安装

  • 主库:
1. 在 mysql-8.0.12-winx64 文件夹下新建 my.ini 文件,内容如下:

[mysqld]

# 以下内容手动添加

[client]

port=3306

default-character-set=utf8

[mysqld]

#主库配置

server_id=1

log_bin=master-bin

log_bin-index=master-bin.index

#端口

port=3306

character_set_server=utf8

#解压目录

basedir=E:\MySQL\mysql-8.0.12-winx64

#解压目录下 data 目录

datadir=E:\MySQL\mysql-8.0.12-winx64\data

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[WinMySQLAdmin]

E:\MySQL\mysql-8.0.12-winx64\bin\mysqld.exe

my.ini

2. 创建数据库使用数据目录

(1) 管理员权限 cmd 进入 bin 目录

(2) 执行: mysqld –initialize-insecure

3. 安装 master 服务

(1) 执行:

mysqld –install master –defaults-file=” E:\MySQL\mysql-8.0.12-winx64\my.ini”

(2) 开启服务,执行: net start master

4. 修改 root 密码:

(1) 登录: mysql –u root –p

(2) Use mysql

(3) ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

(4) 远程登录配置: update user set host ='%' where user ='root';

(5) 保存: flush privileges;

5. 创建连接从库用户

(1) Show databases;

(2) Use mysql;

(3) 创建用户:

CREATE USER '用户名'@'host 名称' IDENTIFIED WITH mysql_native_password BY '密码';

(4) 给用户授权: GRANT ALL PRIVILEGES ON *.* TO '用户名'@'host 名称';

(5) 刷新权限: FLUSH PRIVILEGES;
  • 从库:
6. 在 mysql-8.0.12-winx64 文件夹下新建 my.ini 文件,内容如下:

[mysqld]

# 以下内容手动添加

[client]

port=3307

default-character-set=utf8

[mysqld]

#主库配置

server_id=2

log_bin=master-bin

log_bin-index=master-bin.index

#端口

port=3307

character_set_server=utf8

#解压目录

basedir=E:\MySQL\mysql-8.0.13-winx64

#解压目录下 data 目录

datadir=E:\MySQL\mysql-8.0.13-winx64\data

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[WinMySQLAdmin]

E:\MySQL\mysql-8.0.13-winx64\bin\mysqld.exe

my.ini

7. 创建数据库使用数据目录

(1) 管理员权限 cmd 进入 bin 目录

(2) 执行: mysqld –initialize-insecure

8. 安装 master 服务

(1) 执行:

mysqld –install slave –defaults-file=” E:\MySQL\mysql-8.0.13-winx64\my.ini”

(2) 开启服务,执行: net start master

9. 修改 root 密码:

(1) 登录: mysql –u root –p

(2) Use mysql

(3) ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

(4) 远程登录配置: update user set host ='%' where user ='root';

(5) 保存: flush privileges;

三、 主从连接配置

  • 主库:
1. 显示 file 和 position,执行: show master status
  • 从库:
1. 关掉 slave 执行: stop slave;

2. 执行:

change master to

master_host='196.6.8.193',

master_port=3306,

master_user='link',

master_password='mysql',

master_log_file='master-bin.000002',(mater 显示的 file)

master_log_pos=8050;(master 显示的 position)

3. 启动从库: start slave

4. 显示连接结果: show slave status \G;

如果 Slave_IO_State 字段显示 Waiting for master to send event 说明成功

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-----------------------分隔符-------------------------------------

https://www.cnblogs.com/naruto123/p/8138708.html

https://www.cnblogs.com/wyt007/p/10767770.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sky@sea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值