Windows系统搭下建MYSQL主从配置

MySQL解压并重命名两份

Snipaste_2024-05-09_21-40-57.png

分别新建my.ini文件和data文件夹

Snipaste_2024-05-09_21-45-00.png

master下my.ini文件

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4 
[mysqld]
# 服务器标识ID
server-id=1
#二进制日志文件格式
log-bin=mysql-bin
#binlog日志格式
binlog_format=mixed
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:/tools/mysql/master
# 设置mysql数据库的数据的存放目录
datadir=E:/tools/mysql/master/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

Snipaste_2024-05-09_22-27-29.png

slave下my.ini文件

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4 
[mysqld]
# 服务器标识ID
server-id=2
#二进制日志文件格式
log-bin=mysql-bin
# 从库二进制日志
relay-log=mysql-relay
#binlog日志格式
binlog_format=mixed
#设置3307端口
port = 3307
# 设置mysql的安装目录
basedir=E:/tools/mysql/slave
# 设置mysql数据库的数据的存放目录
datadir=E:/tools/mysql/slave/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

Snipaste_2024-05-09_22-27-35.png

使用管理员打开两个命令提示符窗口,进入master(主服务器)的bin目录下,安装mysqld作为window服务并自动启动

mysqld -install master

创建数据文件目录和mysql系统数据库,产生随机root密码,并写错误日志到console

mysqld --initialize --console

启动服务

net start master

Snipaste_2024-05-09_21-54-05.png

进入数据库

mysql -P3306 –uroot –p

修改加密规则,更新一下用户的密码,刷新权限

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;

Snipaste_2024-05-09_21-55-32.png

查看数据库状态

show master status \G

Snipaste_2024-05-09_21-58-31.png

创建新用户并更改密码和加密规则用于共享使用

create user 'xm'@'localhost' identified by 'password';
grant all privileges on *.* to 'xm'@'localhost';
FLUSH PRIVILEGES;
ALTER USER 'xm'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;

Snipaste_2024-05-09_21-59-15.png

重新查看一次确认位点 记录下文件名以及位点

show master status \G

Snipaste_2024-05-09_21-59-50.png

进入slave(从服务器)的bin目录下,安装mysqld作为window服务并自动启动

mysqld -install slave

创建数据文件目录和mysql系统数据库,产生随机root密码,并写错误日志到console

mysqld --initialize --console

启动服务

net start slave

进入数据库

mysql -P3307 –uroot –p

修改加密规则,更新一下用户的密码,刷新权限

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;

Snipaste_2024-05-09_21-57-46.png

先停止从数据库服务

STOP SLAVE;

连接主数据库

change master to master_host='localhost',
master_port=3306,
master_user='xm',
master_password='123456',
master_log_file='mysql-bin.000002',
master_log_pos=2121;

Snipaste_2024-05-09_22-00-30.png

启动从数据库服务

START SLAVE; 

查看配置成功与否,Slave_IO_Runing和Slave_SQL_Runing字段值都为Yes,表示同步配置成功。

show slave status \G

Snipaste_2024-05-09_22-01-33.png

附:停止并删除服务

停止master数据库服务,退出数据库,停止服务,删除服务

stop master;
quit
net stop master
sc delete master

Snipaste_2024-05-09_22-50-35.png

停止slave数据库服务,退出数据库,停止服务,删除服务

stop slave;
quit
net stop slave
sc delete slave

Snipaste_2024-05-09_22-50-47.png

最后修改:2024 年 05 月 09 日
如果觉得我的文章对你有用,请随意赞赏