3:Mysql 主从复制搭建
2022/3/3 19:15:58
本文主要是介绍3:Mysql 主从复制搭建,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1:先介绍环境
两台阿里云服务器 : Master(34)阿里云 Slave(226)阿里云
操作系统:CentOS 7.9 64位
Mysql版本:8.0.28
通信:采用内网IP
2:每台服务器安装Mysql
之前写过一篇安装Mysql 教程可用
3:搭建主从复制
1:主节点的搭建
(1):编辑配置文件
vim /etc/my.conf 文件, 在[mysqld] 下添加
# Mysql的bin-log的名字 log-bin=mysql-bin # Mysql实例中全局唯一,并且大于0 server-id=34 # 禁用Mysql Server对外部连接进行DNS解析,使用这一选项可以消除Mysql进行DNS解析的时间。但所有远程连接都要使用IP地址方式 skip_name_resolve=ON
(2):查看binlog是否开启
重启mysql服务,并连接mysql,查看binlog是否开启
重启mysql服务 systemctl restart mysqld
查询binlog是否开启 show global variables like '%log%';
(3):查看binlog日志列表
show master logs;
(4):查看主节点的server-id是否生效
show global variables like '%server%';
(5):在主节点上创建用于备份账号
create user 'repl'@'%' identified by 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
(6):刷新
flush privileges;
2:从节点的搭建
(1):编辑配置文件
vim /etc/my.conf 文件, 在[mysqld] 下添加
# relay log 很多方面和 binary log差不多 ,区别在于 从节点的I/O线程将主服务器的二进制日志读取过来记录到服务器本地文件,然后SQL线程会读 取到relay-log日志的内容并应用到从节点,从而使从节点和主节点的数据保持一致 # 定义relay_log 的位置和名称 relay-log=relay-log # 定义relay_log 的位置和名称 relay-log-index=relay-log.index # 从节点关闭binlog日志 skip-log-bin # # Mysql实例中全局唯一,并且大于0 server-id=226 # # 禁用Mysql Server对外部连接进行DNS解析,使用这一选项可以消除Mysql进行DNS解析的时间。但所有远程连接都要使用IP地址方式 skip_name_resolve=ON
(2):查看中继日志
重启mysql服务,并连接mysql,查看中继日志是否开启
重启mysql服务 systemctl restart mysqld show global variables like '%log%';
(3):查看server-id是否生效
show global variables like '%server%';
(4):从节点配置主从连接信息
CHANGE MASTER TO MASTER_HOST='172.29.114.155', MASTER_USER='repl', MASTER_PASSWORD='&XYS%FD#F@PkwoP2', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=875;
myster_log_file 和 master_log_pos 通过主节点的
show master logs 命令查看。 对应Log_name 和 File_size
(5):开启同步
查看同步状态信息
show slave status\G;
开启同步
start slave;
再次查看状态信息,至此主从复制配置完成
4:测试
create database mydb1; show master status;
主节点图
show databases; show slave status\G;
从节点图
5:遇到的一些问题
1:限制从服务器为只读
vim /etc/my.cnf
# 设置为只读 read_only=ON
2:从节点关闭 binlog
如果没关闭,会导致复制无效
vim /etc/my.cnf
# 设置为关闭binlog skip-log-bin
这篇关于3:Mysql 主从复制搭建的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享
- 2024-02-22docker mysql 5.7
- 2024-02-18从 20 多套 MySQL 到 1 套 TiDB丨骏伯网络综合运营管理平台应用实践
- 2024-02-07mysql 外键索引入门介绍,为什么工作中很少有人使用?