mysql8.0 windows下主从复制配置

本文详细介绍如何在两台电脑上配置版本一致的MySQL主从服务,包括端口设置、目录配置、最大连接数限制、字符集设定、存储引擎选择等关键步骤。同时,文章深入解析了主从复制的配置过程,如用户权限设置、日志文件同步、从库状态监控等,并提供了常见问题的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要安装两个mysql服务,且版本一致。

我电脑上的两个服务端口分别是3306、3307
在这里插入图片描述

一、主数据库配置

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\Java\mysql-8.0.12-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\Java\mysql-8.0.12-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

########新添加
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
log-bin=mysql-bin
server-id=1
#指定要复制的数据库
binlog-do-db=test1
#忽略指定数据库
#binlog-ignore-db=test1

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

server-id要和从库不一致。

binlog-do-db=test1是设置需要主从复制的数据库。


下面是配置过程

先cmd进入主库bin目录下,进入sql。

依次输入如下命令:

1、create user 'master'@'%'identified with mysql_native_password by 'pass';

这是创建一个用户给从库连接,master可随意更改。

2、GRANT REPLICATION SLAVE ON *.* TO 'master'@'%';

3、flush privileges;
在这里插入图片描述

4、show master status;
Position应该是2191,截图是之后截的,所以已经有部分数据写入进去了
在这里插入图片描述

窗口放着不要关闭,从库设置需要使用,重新打开一个cmd进行从库设置。

二、从库配置

从库配置如下:

[mysqld]
# 设置3307端口
port=3307
# 设置mysql的安装目录
basedir=C:\SoftWare\mysql-8.0.12-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\SoftWare\mysql-8.0.12-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
server-id=2
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3307
default-character-set=utf8

进入从库bin目录,登陆mysql。

输入命令:

change master to master_host='192.168.0.110', master_port=‘3306’,master_user='master',master_password='pass', master_log_file='mysql-bin.000031',master_log_pos=2191;   

master_host是主库的ip, master_port是主库的端口号,默认是3306,master_user是主库设置的用户名,master_log_file和master_log_pos是主库设置中最后一个截图里面的数据。

在这里插入图片描述

输入

show slave status\G;

查看从库参数。

在这里插入图片描述

启动

start slave;

再次查看。
在这里插入图片描述
至此,主从配置完成。

遇到的问题

在这里插入图片描述
running没有启动。

方法:

  1. 先停掉slave:stop slave;
  2. set global sql_slave_skip_counter=1;
  3. 重新启动:start slave;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值