MySQL 主从复制配置 本地 windows环境 启动多个 MySQL 服务

本文详细介绍了在Windows环境中如何配置MySQL主从复制,包括安装服务实例、主服务器和从服务器的配置、测试同步等步骤,确保数据一致性和高可用性。

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

MySQL 主从复制配置 本地 windows环境 启动多个 MySQL 服务

一,安装MySQL服务实例

1,MySQL 官网下载地址: https://dev.mysql.com/downloads/mysql/

2,解压复制MySQL实例

二,主服务器( Master)的配置

1,在 mysql-5.7.26-winx64_v1 创建编辑 my.ini 文件

编辑 my.ini 文件,如果目录路径带\ 是无法被编译的,运行时会报异常;log-bin 日志存储 mysql-log 目录是自定义的,需要自行手动创建,否则会报异常。

[Client]
port = 3307
 
[mysqld]
#设置3306端口
port = 3307
# 设置mysql的安装目录
# D:\tool\MySql\mysql-5.7.26\mysql-5.7.26-winx64_v1 无法被编译
basedir=D:/tool/MySql/mysql-5.7.26/mysql-5.7.26-winx64_v1
# 设置mysql数据库的数据的存放目录
# D:\tool\MySql\mysql-5.7.26\mysql-5.7.26-winx64_v1 无法被编译
datadir=D:/tool/MySql/mysql-5.7.26/mysql-5.7.26-winx64_v1/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# server-id 服务编号,唯一的;
server-id = 1

### 主从复制配置 ###
# log-bin 日志存储地址文件名
# D:\tool\MySql\mysql-5.7.26\mysql-5.7.26-winx64_v1 无法被编译
log-bin=D:/tool/MySql/mysql-5.7.26/mysql-5.7.26-winx64_v1/mysql-log/log-bin.log
# binlog-do-db 进行日志记录的数据库名称,存在多个数据库,则用逗号","分隔;
binlog-do-db=master_slave_configuration
# binlog-ignore-db 忽视数据库
binlog-ignore-db=mysql,information_schema,performance_schema
 
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

2,管理员打开命令窗口,初始化MySQL服务

搜索cmd找到命令提示符,右键以管理员身份运行,进入mysql安装目录下方的bin目录

进入bin 目录:cd D:\tool\MySql\mysql-5.7.26\mysql-5.7.26-winx64_v1\bin

3,初始化MySQL:mysqld --initialize --user=mysql --console

加–console是显示初始化信息,这样初始密码会显示在信息里面,方便后面进入数据库;

初始化成功后,系统会在mysql目录下创建data目录,并生成初始密码。

注意:在初始化时未手动创建 mysql-log 目录,触发异常;

4,注册MySQL服务:mysqld --install mysql --defaults-file=D:\tool\MySql\mysql-5.7.26\mysql-5.7.26-winx64_v1\my.ini

注:mysqld --install mysql --defaults-file=自己本地(master)的my.ini路径

显示 Service successfully installed. 表示安装成功。

5,按win+R,在弹框中输入regedit,点击确定,打开注册表;

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services 目录

在目录导航栏搜索 MySQL 服务名称,如果需要修改相关配置,编辑ImagePath 右击修改;

6,启动主服务器(mysql)

启动MySQL服务:net start mysql

进入配置文件指定端口数据库(-P需要大写):mysql -u root -P 3307 -p

更改初始密码:set password=password('root');

创建一个公共访问的账号:GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '123456';

开通从服务器( Slave )访问主服务器( Master )的权限

grant replication slave on *.* to 'root'@'%' identified by '123456';

查看授权信息

show master status \G

三, 从服务器( Slave )的配置

1,复制 mysql-5.7.26-winx64_v1 ,粘贴重命名为 mysql-5.7.26-winx64_v2 编辑 my.ini 文件

[Client]
port = 3308
 
[mysqld]
#设置3306端口
port = 3308
# 设置mysql的安装目录
# D:\tool\MySql\mysql-5.7.26\mysql-5.7.26-winx64_v2
basedir=D:/tool/MySql/mysql-5.7.26/mysql-5.7.26-winx64_v2
# 设置mysql数据库的数据的存放目录
# D:\tool\MySql\mysql-5.7.26\mysql-5.7.26-winx64_v2\data
datadir=D:/tool/MySql/mysql-5.7.26/mysql-5.7.26-winx64_v2/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

# server-id 服务编号,唯一的;
server-id = 2
# log-bin 日志存储地址文件名
# D:\tool\MySql\mysql-5.7.26\mysql-5.7.26-winx64_v2\mysql-log
log-bin=D:/tool/MySql/mysql-5.7.26/mysql-5.7.26-winx64_v2/mysql-log/log-bin.log
# replicate-do-db 复制数据库名称,存在多个数据库,则用逗号","分隔;
replicate-do-db=master_slave_configuration
# replicate-ignore-db 忽视数据库
replicate-ignore-db=mysql,information_schema,performance_schema
 
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

2,初始化MySQL服务与主服务一致

3,注册MySQL服务:mysqld --install mysql2 --defaults-file=D:\tool\MySql\mysql-5.7.26\mysql-5.7.26-winx64_v2\my.ini

注:mysqld --install mysql2(因为MySQL主服务以注册了该名称这改为MySQL2) --defaults-file=自己本地(slave)的my.ini路径

显示 Service successfully installed. 表示安装成功。

4,查看服务注册情况,并启动服务

查看服务注册是否成功

启动MySQL2服务:`net start mysql2

进入配置文件指定端口数据库(-P需要大写):mysql -u root -P 3308 -p

更改初始密码:set password=password('root');

5,设置主库的信息,将从库和主库联系起来

change master to 
master_host='192.168.3.34',
master_user='root',
master_port=3307,
master_password='123456',
master_log_file='log-bin.000003',
master_log_pos=434;

master_log_filemaster_log_pos 配置是和主服务器 show master status \G 对应

6, 启动 slave

# 启动
start slave;

# 关闭
stop slave;

7,查看 slave 启动的状态 show slave status \G

Slave_IO_Running: Connecting 连接异常;查看 user ,password 账号密码是否正确,可否能正常访问主服务器;注意127.0.0.1不行就切换网络IP地址;

slave 未启动情况

四,测试同步

Master主服务器 master_slave_configuration 库 新增一张表;

然后查看 Slave 从服务器 master_slave_configuration 库也多了一张表;

做主从配置的时候一定要保证主服务器的数据库和从服务器的数据库的数据一致的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值