【MySQL】主从复制过程(实践)

news/2024/5/8 11:01:23/文章来源:https://blog.csdn.net/Stephen_Daa/article/details/129921186

在这里插入图片描述
1.安装好2台数据库服务器的系统,然后安装好MySQL软件

[root@jd-mysql ~]# mysql --version
mysql  Ver 14.14 Distrib 5.7.40, for linux-glibc2.12 (x86_64) using  EditLine wrapper
[root@jd-mysql-2 ~]# mysql --version                                                             
mysql  Ver 14.14 Distrib 5.7.40, for linux-glibc2.12 (x86_64) using  EditLine wrapper    

2.在master上开启二进制日志
在这里插入图片描述

3.统一2台服务器的基础数据

[root@jd-mysql ~]# mysqldump -uroot -p'Jiangda123#'  --all-databases  >all_db.SQL
mysqldump: [Warning] Using a password on the command line interface can be insecure.[root@jd-mysql ~]# scp all_db.SQL root@192.168.1.151:/root
all_db.SQL                                                            100%  898KB  88.2MB/s   00:00[root@jd-mysql-2 ~]# mysql -uroot -p'Jiangda123#' <all_db.SQL 
mysql: [Warning] Using a password on the command line interface can be insecure.

4.清除所有的二进制日志,因为有全备,不需要二进制日志了

root@(none) 14:54  mysql>reset master;
Query OK, 0 rows affected (0.00 sec)root@(none) 14:54  mysql>show master status;
+---------------------+----------+--------------+------------------+-------------------+
| File                | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------------+----------+--------------+------------------+-------------------+
| jd-mysql-bin.000001 |      154 |              |                  |                   |
+---------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

5.在master上新建一个授权用户,给slave来复制二进制日志

root@(none) 14:55  mysql>grant replication slave on *.* to 'jiangda'@'192.168.1.%' identified by 'a123#';
Query OK, 0 rows affected, 1 warning (0.00 sec)root@(none) 14:55  mysql>flush privileges;
Query OK, 0 rows affected (0.00 sec)root@(none) 14:57  mysql>show grants for 'jiangda'@'192.168.1.%';
+-----------------------------------------------------------+
| Grants for jiangda@192.168.1.%                            |
+-----------------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO 'jiangda'@'192.168.1.%' |
+-----------------------------------------------------------+
1 row in set (0.00 sec)

6.在slave上配置master info的信息

CHANGE MASTER TO MASTER_HOST=‘192.168.1.150’ ,
MASTER_USER=‘jiangda’,
MASTER_PASSWORD=‘Jiangda123#’,
MASTER_PORT=3306,
MASTER_LOG_FILE=‘jd-mysql-bin.000001’,
MASTER_LOG_POS=154;

root@(none) 14:48  mysql>CHANGE MASTER TO MASTER_HOST='192.168.1.150' ,->  MASTER_USER='jiangda',->  MASTER_PASSWORD='Jiangda123#',->  MASTER_PORT=3306,->  MASTER_LOG_FILE='jd-mysql-bin.000001',->  MASTER_LOG_POS=154;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

7.查看slave是否配置成功(在slave操作)

 root@(none) 11:29  mysql>show slave status\G;

在这里插入图片描述

8.启动slave

root@(none) 14:59  mysql>start slave;
Query OK, 0 rows affected (0.00 sec)
root@(none) 11:31  mysql>show slave status\G;

在这里插入图片描述

2个都是yes说明IO线程和SQL线程都启动了。

9.测试主从复制的效果

上面的操作

root@(none) 11:23  mysql>create database jd;
Query OK, 1 row affected (0.02 sec)root@(none) 11:36  mysql>use jd;
Database changed
root@jd 11:36  mysql>create table  t1(id int);
Query OK, 0 rows affected (0.04 sec)root@jd 11:36  mysql>insert into t1(id) values(1),(2);
Query OK, 2 rows affected (0.02 sec)
Records: 2  Duplicates: 0  Warnings: 0root@jd 11:37  mysql>

服务器上的操作

root@(none) 11:36  mysql>use jd;
Database changed
root@jd 11:36  mysql>show tables;
Empty set (0.00 sec)root@jd 11:36  mysql>show tables;
+------------------+
| Tables_in_yuanrd |
+------------------+
| t1               |
+------------------+
1 row in set (0.00 sec)root@jd 11:36  mysql>select * from t1;
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
2 rows in set (0.03 sec)

slave是一直连接到master的,传输层使用tcp,因为建立了连接。

使用的账号和密码都是jiangda ,进行复制二进制日志使用

[root@jd-mysql ~]# netstat -anplut|grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      1333/mysqld         
tcp6       0      0 192.168.1.150:3306      192.168.1.151:44682     ESTABLISHED 1333/mysqld   root@(none) 15:03  mysql>show processlist;
+----+-------------+---------------------+------+-------------+------+---------------------------------------------------------------+------------------+
| Id | User        | Host                | db   | Command     | Time | State                                                         | Info             |
+----+-------------+---------------------+------+-------------+------+---------------------------------------------------------------+------------------+
| 13 | system user |                     | NULL | Connect     |  578 | Slave has read all relay log; waiting for more updates        | NULL             |
| 18 | jiangda     | 192.168.1.151:44682 | NULL | Binlog Dump |  220 | Master has sent all binlog to slave; waiting for more updates | NULL             |
| 19 | root        | localhost           | NULL | Query       |    0 | starting                                                      | show processlist |
+----+-------------+---------------------+------+-------------+------+---------------------------------------------------------------+------------------+
3 rows in set (0.00 sec)

10.master.info 和 relay-log.info在哪里?

[root@jd-mysql-2 mysql]# pwd
/data/mysql
[root@jd-mysql-2 mysql]]# ls *.info
master.info  relay-log.info[root@jd-mysql-2 mysql]# cat master.info 
25
jd-mysql-bin.000001
1196
192.168.1.150
jiangda
Jiangda123#
3306
60
00
30.0000
de35d2ef-cd37-11ed-93d8-000c2954bc91
864000[root@jd-mysql-2 mysql]# cat relay-log.info 
7
./jd-mysql-2-relay-bin.000002
1365
jd-mysql-bin.000001
1196
0
0
1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_283799.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第03章_用户与权限管理

第03章_用户与权限管理 1. 用户管理 ​ MysQL用户可以分为普通用户和root用户。root用户是超级管理员&#xff0c;拥有所有权限&#xff0c;包括创建用户 、删除用户和修改用户的密码等管理权限;普通用户只拥有被授予的各种权限。 MysQL提供了许多语句用来管理用户账号&#…

认识C++字符串复合类型

目录 前言&#xff1a; 1.数组 1.1C的数组 1.2C数组初始化 *2.字符串 2.1字符串与数组 2.2字符数组的存储 2.3字符串输入cin 2.4cin.getline() 2.5cin.get() 2.6函数重载例子 2.7混合输入数字和字符串 前言&#xff1a; C与C语言在内容上有些是一样的&#xff0c;也…

Zooker配置与测试

目录 1.介绍 2.配置 1.配置准备 2.配置修改 3.测试 1.介绍 2.配置 1.配置准备 zookeeper官网:Apache ZooKeeper &#xff08;1&#xff09;安装 JDK &#xff08;2&#xff09;拷贝 apache-zookeeper-3.5.7-bin.tar.gz 安装包到software目录下 &#xff08;3&#xff09;解…

mysql常用的基础命令

通过学习mysql命令提高数据处理和工作效率 基础命令 1.登录MySQL mysql -u root -p 2.查看当前系统所有数据库 show databases; 3.切换数据库 use 数据库名称 4.查看数据库下的所有表 show tables; 5.查看表结构&#xff1b; desc 表名&#xff1b; 6.创建数据库 crea…

CentOS7的下载、安装和配置(详细图解)

CentOS7安装包的下载 Centos7的安装包可以去官网&#xff08;https://www.centos.org/&#xff09;下载&#xff0c;但速度比较慢。 也可以用搜索引擎搜索国内镜像站点的安装包文件与官网同步&#xff0c;下载的速度非常快。 CentOS7软件安装包的分享 百度网盘分享&#xff…

python函数详解_INDEX函数

一. 函数的作用 函数就是将一段具有独立功能的代码块 整合到一个整体并命名&#xff0c;在需要的位置调用这个名称即可完成对应的需求。 函数在开发过程中&#xff0c;可以更高效的实现代码重用。 二. 函数的使用步骤 1. 定义函数 def 函数名(参数):代码1代码2...... 复制 …

usb_cam相机录制rosbag

文章目录运行环境&#xff1a;1.1 usb_cam连接&#xff1a;1.2 usb-cam启动1.2 查看相机话题名称2.1 rosbag录制2.2 播放rosbag运行环境&#xff1a; ubuntu20.04 noetic 杰瑞微通usb_cam&#xff08;分辨率640x480&#xff09; 宏基暗影骑士笔记本 1.1 usb_cam连接&#xff…

Golang每日一练(leetDay0030)

目录 88. 合并两个有序数组 Merge Sorted Array &#x1f31f; 89. 格雷编码 Gray Code &#x1f31f;&#x1f31f; 90. 子集 II Subsets II &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/…

Linux复习 / 进程控制QA梳理

文章目录前言Q&A进程终止Q&#xff1a;exit和_exit的区别&#xff1f;Q&#xff1a;内核是如何终止进程的&#xff1f;进程等待Q&#xff1a;为什么要等待子进程&#xff1f;Q&#xff1a;如何等待子进程&#xff08;wait/waitpid的区别&#xff09;&#xff1f;进程替换Q&…

TCP协议工作机制二(滑动窗口,流量控制,拥塞控制,延时应答,捎带应答等)

目录 滑动窗口 流量控制 拥塞控制 延时应答 捎带应答 面向字节流 异常情况 UDP和TCP对比 滑动窗口 由于TCP是可靠传输,有确认应答,超时重传,连接管理等机制,发送消息时需要等待接收方返回的ack.因此会消耗大量等待ack的时间,我们引入滑动窗口的机制来竭尽可能提高TCP的…

【Linux】环境变量进程虚拟地址空间

环境变量&进程虚拟地址空间环境变量一些常见的环境变量-PATH修改环境变量进程虚拟地址空间环境变量 使用ls man pwd cd echo 这些指令时&#xff0c;不需要加./但是要运行我们自己的可执行程序就需要加上&#xff0c;本质上两个都是指令&#xff0c;为什么执行方法不同&am…

python学习之http客户端和服务端

Part1前言python非常简洁&#xff0c;非常适合写小功能以及测试接口。本文主要记录用pyhon实现一个简单的http客户端和服务端。Part2http客户端这里采用request库来实现。示例如下import requests import json url http://127.0.0.1:81/test?key1123&key2456headers {Au…

代码不熟没关系,让AI替你写

程序员早已不是一个陌生的群体&#xff0c;但程序、代码相对普通人而言&#xff0c;看着还是比较深奥难懂&#xff0c;但自从有了ChatGPT&#xff0c;不少对此有兴趣的外行人士&#xff0c;也能轻松写出代码了&#xff0c;比如让ChatGPT写一个贪吃蛇游戏&#xff0c;按它给出的…

【如何使用Arduino控制WS2812B可单独寻址的LED】

【如何使用Arduino控制WS2812B可单独寻址的LED】 1. 概述2. WS2812B 发光二极管的工作原理3. Arduino 和 WS2812B LED 示例3.1 例 13.2 例 24. 使用 WS2812B LED 的交互式 LED 咖啡桌4.1 原理图4.2 源代码在本教程中,我们将学习如何使用 Arduino 控制可单独寻址的 RGB LED 或 …

ROS实践05 订阅方实现Python

文章目录运行环境&#xff1a;思路&#xff1a;1.1 Python代码实现1&#xff09;工作空间创建和编译2&#xff09;功能包创建和添加依赖3&#xff09;新建.py文件4&#xff09;修改CMakeList5&#xff09;运行节点运行环境&#xff1a; ubuntu20.04 noetic 宏基暗影骑士笔记本…

Java每日一练(20230409)

目录 1. 多数元素 &#x1f31f; 2. 反转链表 II &#x1f31f;&#x1f31f; 3. 日期之间的遍历 &#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 多数元素 给定一个…

使用红黑树封装map和set

目录 一、set和map的底层结构 使用模板区分map和set 使用仿函数来比较大小 二、红黑树中set和map的迭代器 end和begin迭代器 operator迭代器 operator-- 三、set与map中的迭代器和const迭代器 四、迭代器的拷贝构造 五、完整代码 set.h map.h RBTree.h 一、set和ma…

UE4 C++编写自定义动画蓝图节点

UE中自带的动画蓝图节点有限&#xff0c;在实现一些功能时需要通过C编写一些自定义的动画蓝图节点&#xff0c;本文就来讲解其基础实现&#xff0c;自定义节点最终效果如下&#xff1a; 源文件下载&#xff1a;https://download.csdn.net/download/grayrail/87654290 1.流程简…

linux 服务器 docker 安装 mysql 8.0.32 常用命令

我的Docker专栏 https://blog.csdn.net/weixin_45580378/category_12276045.html docker 镜像 https://registry.hub.docker.com/_/mysql/tags 1.版本号可不写 不写就是最新版本 最好写上 docker pull mysql:版本号2.查看镜像是否安装成功 如下图 docker images3.创建文件…

活动送票福利|Jina AI x PyCon US 2023!

作为一家总部位于德国柏林的国际化公司&#xff0c;Jina AI 拥有来自 10 不同国家的团队成员&#xff0c;在中国&#xff08;北京、深圳&#xff09;、美国&#xff08;圣何塞&#xff09;均设有办公室。全球化基因深植于 Jina AI 团队&#xff0c;我们也非常注重国际化社区的建…