IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> mysql数据库的主从复制搭建 -> 正文阅读

[系统运维]mysql数据库的主从复制搭建


前言

主从复制概述:
将主库的DDL 和DML 操作,写入二进制日志,并通过I/O线程读取到从库服务器中,通过sql线程这些日志重新执行,从而使得从库和主库的数据保持同步。


一、服务器准备

主从复制至少需要两台及以上的服务器,确保都配置了mysql并开启。

注意:需要关闭防火墙。

本文使用到的ip地址为:

  • 主库:192.168.188.132
  • 从库:192.168.188.130

二、主库配置

2.1 修改配置文件

vim /etc/my.cnf

进入文件后,添加如下配置:

#mysql 服务ID,保证整个集群环境中唯一,取值范围:1232-1,默认为1 
server-id=1 
#是否只读,1 代表只读, 0 代表读写 
read-only=0 

在这里插入图片描述

2.2 重启mysql服务器

systemctl restart mysqld

没有报错说明配置成功,如果报错一般是刚才写的配置文件的内容有问题,仔细检查。

2.3 登录mysql,创建账号,配置权限

登录后执行下列操作:

#创建master用户,并设置密码'Root@123456'(未调整数据库权限,此处设置的复杂一些),该用户可在任意主机连接该MySQL服务 
CREATE USER 'master'@'%' IDENTIFIED WITH mysql_native_password BY 'Root@123456' ;
#为 'master'@'%' 用户分配主从复制权限 
GRANT REPLICATION SLAVE ON *.* TO 'master'@'%';

2.4 查看binlog的文件位置

此处的master为上一步创建的用户对象。在从库中需要用该出的File、Position数据。
在这里插入图片描述

  • file : 从哪个日志文件开始推送日志文件
  • position : 从哪个位置开始推送日志
  • binlog_ignore_db : 指定不需要同步的数据库

到此,主库配置完成。


三、从库配置

3.1 修改配置文件

vim /etc/my.cnf
进入从库的配置文件。

#mysql 服务ID,保证整个集群环境中唯一,取值范围:12^32-1,和主库不一样即可 
server-id=2 
#是否只读,1 代表只读, 0 代表读写
read-only=1

3.2 重新mysql服务

systemctl restart mysqld

3.3 登录mysql,设置主库配置

根据自己的主机配置,
SOURCE_HOST:主库的ip地址。
SOURCE_USER:主库创建的用户名。
SOURCE_PASSWORD:主库创建的用户名密码。
SOURCE_LOG_FILE:主库binlog文件的位置。
SOURCE_LOG_POS:主库binlog文件中的偏移量。

CHANGE REPLICATION SOURCE TO SOURCE_HOST='192.168.188.132', SOURCE_USER='master', SOURCE_PASSWORD='Root@123456', SOURCE_LOG_FILE='binlog.000026', SOURCE_LOG_POS=663;

如果mysql是 8.0.23 之前的版本,执行如下SQL:

CHANGE MASTER TO MASTER_HOST='192.168.188.132', MASTER_USER='master', MASTER_PASSWORD='Root@123456', MASTER_LOG_FILE='binlog.000026', MASTER_LOG_POS=663;

执行结果如下:
在这里插入图片描述

3.4 开启同步操作

start replica ; #8.0.22之后 
start slave ; #8.0.22之前

在这里插入图片描述

3.5 查看主从同步状态

show replica status ; #8.0.22之后 
show slave status ; #8.0.22之前

在这里插入图片描述


四、测试

1 在主库 192.168.188.132上创建数据库、表,并插入数据(DML语句)。

create database db01; 
use db01; 
create table tb_user( 
	id int(11) primary key not null auto_increment, 
	name varchar(50) not null, 
	sex varchar(1) 
)engine=innodb default charset=utf8mb4;
insert into tb_user(id,name,sex) values(null,'zhangsan', '1'),(null,'lisi','0'), (null,'wangwu','1');

主库的表
在这里插入图片描述
2. 在从库 192.168.188.130 中查询数据,验证主从是否同步。
在这里插入图片描述
使用use db01进入该库中可见,数据也在其中。
在这里插入图片描述


  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-01 16:08:03  更:2022-05-01 16:09:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:40:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码