mysql5.7一主多从

mysql一主多从搭建记录

mysql5.7

本文主要记录3台linux主机搭建mysql5.7一主多从的过程以及搭建过程中遇到的问题。

1 环境版本

软件名称版本
CentOS7.8
mysql5.7.23
master192.168.137.132
slave1192.168.137.133
slave2192.168.137.134

2 安装过程

2.1-2.5 中的每个节点均需执行
2.1 安装rpm
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
yum localinstall -y mysql57-community-release-el7-8.noarch.rpm
2.2 安装Mysql
yum install -y mysql-community-server
systemctl start mysqld
systemctl enable mysqld
systemctl daemon-reload
2.3 配置Mysql
# 修改本地密码
# 1.获取当前密码
grep 'temporary password' /var/log/mysqld.log
# 2.更换密码
set password for 'root'@'localhost'=password('MyNewPass4!');
2.4 访问权限
# 允许另外两个节点可以使用密码访问主库,从节点也需要配
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.137.133'IDENTIFIED BY 'password' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.137.134'IDENTIFIED BY 'password' WITH GRANT OPTION;
flush privileges;
2.5 开启防火墙
//1、开启端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//2、重启防火墙
firewall-cmd --reload
//3、查看已经开放的端口:
firewall-cmd --list-ports
3 master配置
3.1 master节点配置
#在/etc/my.cnf文件中添加以下配置项
# 设置server_id,一般设置成IP
server_id=18812
# 开启二进制日志功能,也可以不开启,如果这个slave不作为master
log-bin=master-bin
3.2 重启Mysql
service mysqld restart
3.3 进入mysql控制台查看设置
show master status\G;
#注意File,Position两个字段,一会配置从服务器要用到
3.4 master重置
#想要重新配置master,并清零position,可以使用下边命令。
reset master;
4 Slave配置
4.1 slave节点配置
#在/etc/my.cnf文件中添加以下配置项
# 设置server_id,一般设置成IP
server_id=18813
# 开启二进制日志功能,也可以不开启,如果这个slave不作为master
log-bin=slave2-bin
4.2 重启
4.3 进入控制台设置
stop slave;
change master to master_host='192.168.188.11', master_user='root', master_password='password',master_log_file='master-bin.000002', master_log_pos=928;
#注意此处的master_log_file,master_log_pos分别是master中File,Position两个字段的值
#查看slave的状态
show slave status\G;
start slave;
show slave status\G;
#Slave_IO_Running: Yes
#Slave_SQL_Running: Yes

mysql 8.0

1.mysql安装

rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum --enablerepo=mysql80-community install mysql-community-server
service mysqld start
systemctl enable mysqld

2.更换密码与授权

grep "A temporary password" /var/log/mysqld.log #获取初始化密码
mysql -u root -p
create user 'replication'@'%' identified with mysql_native_password by 'JINGhuaSHUIyue123,.';
grant replication slave on *.* to 'replication'@'%';
flush privileges;

3.主从配置

#master
[mysqld]
# 服务器标识符, 确保每台服务器标识符都不一样
server-id = 1000
 
# master 机必须开启 log_bin
# mysql-bin 为自定义名字,会生成诸如 mysql-bin.index、mysql-bin.000001 等文件
log_bin=mysql-bin
 
# 二进制日志过期时间(单位:天),默认值为 0,即不过期
expire_logs_days = 0
 
# 错误日志
log-error=/var/lib/mysql/mysql-error.log
 
# 单个 log_bin 文件最大值,达到最大值之后新建文件后缀自增,如 mysql-bin.000002
max_binlog_size = 100M
 
# mysql 安装路径
basedir=/var/lib/mysql
 
# mysql 数据路径
datadir=/var/lib/mysql
 
# master 记录操作的数据库
binlog_do_db=replication
 
# master 忽略的数据库
binlog_ignore_db=information_schema
binlog_ignore_db=performance_schema
binlog_ignore_db=sys
binlog_ignore_db=mysql
 
# 二进制日志保存模式
binlog_format=MIXED
 
# blob 类型的最大存储值(单位:字节、B)
# 1048576 B = 1MB
max_allowed_packet=1048576
 
 
# 密码复杂度配置,需要插件
# 密码长度至少为 0
# validate_password_length=8
 
# 大小写同时存在的最少数目
# validate_password_mixed_case_count=1
 
# 密码至少存在的数字数目
# validate_password_number_count=1
 
# 密码至少存在的特殊字符数目
# validate_password_special_char_count=1
 
innodb_flush_log_at_trx_commit=0
 
 
[mysql]
default-character-set=utf8mb4
 
[client]
default-character-set=utf8mb4

##################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######################
#slave
[mysqld]
# 服务器标识符, 确保每台服务器标识符都不一样
server-id = 2000
 
# mysql 安装路径
basedir=D:\mysql
 
# mysql 数据路径
datadir=D:\mysql\data
 
# slave 复制的数据库
replicate_do_db=test
 
# slave 忽略的数据库
replicate_ignore_db=information_schema
replicate_ignore_db=performance_schema
replicate_ignore_db=mysql
replicate_ignore_db=sys
 
# slave 网络超时重连间隔(单位:秒)
slave_net_timeout=60
 
[mysql]
 
default-character-set=utf8
 
[client]
 
default-character-set=utf8

设置完成后,主从均需重启;

进入master查询show master status;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WLyPCnJO-1614131586286)(https://lpc-1304394123.cos.ap-beijing.myqcloud.com/pic/image-20201208153200844.png)]

进入slave:

change master to master_host='192.168.137.135', master_user='replication', master_password='JINGhuaSHUIyue123,.',master_log_file='binlog.000004', master_log_pos=840;
start slave;
show slave status\G;

image-20201208153256161

此时成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值