VM CentOs7 搭建MySQL主从

前期准备

  1. 在虚拟机上创建三台centos7服务器。例如我的创建的IP如下:
序号ip类型
服务器1192.168.83.156主节点
服务器2192.168.83.157从节点
服务器3192.168.83.158从节点
  1. 在三台服务器中安装好mysql8,并保证能使用。
    安装mysql8的脚本参照:centerOs7安装相关的应用脚本

主从配置

主节点配置

在 192.168.83.156 主节点服务器中,打开mysql的配置文件my.ini.

# 我的mysql配置文件地址在/etc/下,根据自己的实际位置修改
vim /etc/my.cnf

在配置文件中找到**[mysqld]** 的部分,在这部分下添加以下内容:

#指定需要同步给从节点的数据库 。不写则默认全部同步,会忽略binlog-ignore-db部分
# binlog-do-db=testDB

# 指定不同步到从节点的数据库
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys

#自动清理 180 天前的log文件,可根据需要修改
expire_logs_days=180

# 启用二进制日志
log-bin=master-bin

# 自定义服务器唯一ID
server-id=156
 
log_bin_index = master-bin.index

如下图:
在这里插入图片描述

从节点配置

192.168.83.157 从节点 和 192.168.83.158 从节点 中打开mysql的配置文件

在配置文件中找到**[mysqld]** 的部分,在这部分下添加以下内容:

# 我的mysql配置文件地址在/etc/下,根据自己的实际位置修改
vim /etc/my.cnf

在配置文件中找到 [mysqld] 的部分,在这部分下添加以下内容:

# 自定义服务器唯一id
server-id = 157
read_only = 1
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay-log = slave-relay-bin 
#主服务器I/O日志读取、记录及存放
relay-log-index = slave-relay-bin.index

如下图:
在这里插入图片描述

检查msyql的uuid配置

进入主从三台服务器中的MySQL安装路径,找到data文件夹,此文件夹下有一个auto.cnf 的文件
查看uuid值。必须确保三个uuid都不相等。如果相等,则需要修改为新的uuid。
如下:

序号ipuuid截图
服务器1192.168.83.156在这里插入图片描述
服务器2192.168.83.157在这里插入图片描述
服务器3192.168.83.158在这里插入图片描述

配置从节点连接到主节点上

查看主节点的信息

进入主节点服务器,并使用以下命令重启mysql

 service mysql restart

重启成功后使用以下命令进入mysql操作界面

# 执行这个命令后输入连接的密码即可
mysql -uroot -p

登录进入mysql 后,使用以下mysql 语句查看主节点的信息

 show master status \G;

如下图,框选中的FilePosition 两个部分需要记录下来,从节点的配置使用到。:
在这里插入图片描述

配置从节点连接主节点

进入从节点服务器,并使用以下命令重启mysql

 service mysql restart

重启成功后使用以下命令进入mysql操作界面

# 执行这个命令后输入连接的密码即可
mysql -uroot -p

登录进入mysql 后,使用以下mysql语句配置从节点连接主节点

change master to master_host='主节点ip地址',master_port=主节点mysql的端口,master_user='登录主节点mysql的账号',master_password='登录主节点mysql的密码',master_log_file='主节点file值',master_log_pos=主节点positon值

例如:

change master to master_host='192.168.83.156',master_port=3306,master_user='root',master_password='1234',master_log_file='master-bin.000002',master_log_pos=157

使用一下mysql的语句查看从节点连接主节点的状态

show slave status\G;

如下图:
当 下图选中的值都为Yes时说明节点关联成功。

在这里插入图片描述
注意: 若上图红框部分中出现no的时候,请按下面两个方式之一的步骤操作:
方式1:

  1. 使用命令行断开停止从节点
stop slave;
  1. 重新配置主从
change master to master_host='主节点ip地址',master_port=主节点mysql的端口,master_user='登录主节点mysql的账号',master_password='登录主节点mysql的密码',master_log_file='主节点file值',master_log_pos=主节点positon值
  1. 启动从节点
start slave;

方式2
1. 使用命令行断开停止从节点
shell stop slave;
2. 使用命令忽略错误继续同步

set global sql_slave_skip_counter=1;
3.	启动从节点
start slave;

主从测试

在主从节点中任意选则一个,进入musql,使用以下建表语句

drop table if EXISTS t_test;
create table t_test (
	id int(11) not null PRIMARY key auto_increment COMMENT 'id',
	create_time int(11) not null COMMENT '创建时间',
	update_time int(11) null comment '更新时间',
	delete_flag TINYINT(2) not null DEFAULT '0' comment '是否删除 0否未删除,1是已删除',
	state TINYINT(1) not null DEFAULT '1' COMMENT '状态是否可用, 0不可用,1可用',
	remark varchar(255) null comment '备注'
)COMMENT '主从测试表';

创建完成之后,使用以下sql语句查看其他节点是否已经成功同步出表。

show tables;

存在则说明成功。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小张帅三代

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

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

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

打赏作者

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

抵扣说明:

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

余额充值