当前位置: 首页 > article >正文

MySQL 主从复制(单组传统复制,GTID复制。双主复制)

案例环境

单组复制

master: 192.168.180.143

slave01:192.168.180.144

双组复制

master01:192.168.180.143

master02:192.168.180.144

案例过程

准备工作

关闭所有防火墙

setenforce 0 && systemctl stop firewalld

更改相应主机名和hosts文件

#更改hosts文件

vim /etc/hosts
192.168.180.143 master
192.168.180.144 slave01
192.168.180.145 slave02


#更改主机名

hostnamectl set-hostname master && bash
hostnamectl set-hostname slave01 && bash
hostnamectl set-hostname slave02 && bash

 主服务器配置文件配置时间同步

#安装服务
yum -y install ntp

#配置文件
vim /etc/ntp.conf

server 127.127.1.0 
fudge 127.127.1.0 stratum 8

#启动ntp
systemctl start ntpd


从服务器下载配置时间同步

#下载服务
yum install -y ntpdate

#配置同步
ntpdate 192.168.180.143

 YUM下载MySQL

详细YUM安装MySQL配置过程https://blog.csdn.net/div3tengr/article/details/145202508?spm=1001.2014.3001.5502

解压mysqly的yum文件
mkdir /mysql57 && tar xf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar -C /mysql57
下载前置包,配置yum仓库
yum -y install createrepo

cat >> /etc/yum.repos.d/CentOS-mysql57.repo <<EOF
[mysql57] 
name=mysql57 
enabled=1 
gpgcheck=0 
baseurl=file:///mysql57
EOF

yum clean all
下载mysql并修改密码
yum install -y mysql-community-server
 
systemctl start mysqld
 
#查看默认密码
grep "password" /var/log/mysqld.log
 
#修改密码
mysqladmin -u root -p password 'ABCabc-123'

 

 单组复制-传统复制

主服务器上配置my.cnf文件

vim /etc/my.cnf
server-id = 100
log_bin = mysql-bin

#启动服务
systemctl restart mysqld

 在主服务器上创建用户

#登入mysql数据库
mysql -u root -p'密码'

#创建用户权限
grant replication slave on *.* to 'repluser'@'192.168.180.%' identified by 'ABCabc-123';

#刷新权限
flush privileges;

#查看服务状态
show master status\G;

在从服务器上链接到主服务器

#进入数据库
mysql -u root -p'密码'

#停止复制进程
stop slave;

#连接主服务器
change master to 
#主服务IP
master_host="192.168.180.143",
#连接用户
master_user="repluser",
#连接密码
master_password="ABCabc-123",
#连接端口
master_port=3306,
#连接文件
master_log_file="mysql-bin.000001",
#连接位置
master_log_pos=605;


#启动复制进程
start slave;

从服务器查看连接状态

show slave status\G;

 创建库,并查看复制情况

#在主服务器上创建数据库
create database Chen;

#在从服务器上查看复制情况
show databases;

 

 单组复制-GTID复制

在主,从服务器上配置文件

#配置主配置文件
vim /etc/my.cnf
gtid_mode = ON
enforce_gtid_consistency = true

#重启服务
systemctl restart mysqld

 从服务器配置连接

#登入数据库
mysql -uroot -pABCabc-123

#停止复制进程
stop slave;

change master to
#主服务器IP
master_host="192.168.180.143",
#连接用户
master_user="repluser",
#连接密码
master_password="ABCabc-123", 
#启动全局事务标识符
master_auto_position=1;

#启动复制进程
start slave;

#查看服务状态
show slave status\G;

 测试查看复制情况

双主复制

在主服务器上同步用户

#创建授权用户
grant replication slave on *.* to 'repluser'@'192.168.180.%' identified by 'ABCabc-123';
#刷新权限
flush privileges;

在第二主上查看用户信息

#进入数据库
mysql -u root -p'密码'

#查看用户信息
select user,host from mysql.user;

     在第二台主上开启二进制

    vim /etc/my.cnf
    
    #配置日志文件路径
    log_bin = mysql-bin
    
    #重启服务
    systemctl restart mysqld

    在第一台主上配置连接

    stop slave;
    
    change master to 
    master_host="192.168.180.144",
    master_user="repluser",
    master_password="ABCabc-123", 
    master_auto_position=1;、
    
    start slave;

     创建表并查看同步情况

    #在第一个主服务器创建表格
    create table Chen.bcnt(id int,name varchar(10));
    #插入数据
    insert into Chen.bcnt values(1,'ccc');


      http://www.kler.cn/a/516151.html

      相关文章:

    1. Python数据可视化(够用版):懂基础 + 专业的图表抛给Tableau等专业绘图工具
    2. 使用 Python 获取 1688 商品快递费用 API 接口的示例代码解析
    3. 构建高效稳定的网络环境
    4. 最小距离和与带权最小距离和
    5. Java如何向http/https接口发出请求
    6. simulink入门学习01
    7. qml ColorDialog详解
    8. 【Unity】 HTFramework框架(五十九)快速开发编辑器工具(Assembly Viewer + ILSpy)
    9. 没有屋檐的房子-023粪堆旁边的舞蹈
    10. 国内股票年化收益回归分析(上)
    11. 深度学习|表示学习|卷积神经网络|参数共享是什么?|07
    12. 【MySQL】 库的操作
    13. 【优选算法】7----三数之和
    14. 树的宽度优先遍历(c++)
    15. 头歌实训作业 算法设计与分析-贪心算法(第2关:最优装载问题)
    16. 性能测试监控与诊断
    17. ARM64平台Flutter环境搭建
    18. EF Core 乐观、悲观并发控制
    19. spring-springboot -springcloud
    20. Sophon边缘盒数据校验及量化
    21. Java拓展学习——Process类的学习和使用
    22. mysql 计算2个时间段之间的间距
    23. 差分轮算法-两个轮子计算速度的方法-阿克曼四轮小车计算方法
    24. 从新手到高手的蜕变:MySQL 视图进阶全攻略
    25. 不使用 JS 纯 CSS 获取屏幕宽高
    26. 单片机内存管理剖析