MySQL 数据库主从集群搭建

article/2025/11/10 10:40:31

文章目录

      • 1 准备工作
      • 2 配置主数据库
      • 3 配置从库
      • 4 从库设置只读用户
      • 5 推荐参考资料

1 准备工作

  • 1 选择一个服务器当做主服务器,将服务器上需要的数据进行备份

  • 2 安装从库的 MySQL,需要与主服务器的版本保持一致

  • 3 将主服务器上的数据同步到从库中(主从集群只会同步创建集群之后的数据操作,对于原有的数据不会同步)

2 配置主数据库

修改配置文件

vim /etc/my.cnf

添加配置

[mysqld]
log-bin=mysql-bin
server-id=1

重启 mysql 服务(centOS 7+)

systemctl restart mysqld

使用命令行以 root 用户进入 MySQL

mysql -u root -p

输入密码,进入

创建拥有从节点同步权限的用户

GRANT REPLICATION SLAVE ON *.* TO 'userName'@'%' IDENTIFIED BY 'yourPassword';

其中 userName 为用户名,yourPassword 为密码

刷新权限

FLUSH PRIVILEGES;

查询主库状态

show master status;

记录下 FilePosition 字段的值

其中 File 为操作日志文件,Position 为指针位置,这两个字段是数据同步的关键

image-20220212153754171

3 配置从库

修改配置文件

vim /etc/my.cnf

添加配置

[mysqld]
server-id=2

注意: 每一个服务器的 server-id 都不能重复

重启 mysql 服务(centOS 7+)

systemctl restart mysqld

使用命令行以 root 用户进入 MySQL

mysql -u root -p

输入密码,进入

执行同步语句

CHANGE MASTER TO MASTER_HOST='masterServerIp', MASTER_PORT=masterPort, MASTER_USER='masterUser', MASTER_PASSWORD='masterPassword', MASTER_LOG_FILE='masterLogFile', MASTER_LOG_POS=masterPosition;

其中 masterServerIp 为主库服务器地址(ip或域名)

masterPort 为主库 mysql 端口(需要确保外网可访问)

masterUser 为刚创建的用于向从库同步数据的用户

masterPassword 为刚创建的用于向从库同步数据的用户密码

masterLogFile 为主库的日志文件名,对应字段 File

masterPosition 为主库指针位置,对应字段 Position

启动从库同步

start slave;

查询从库同步状态

show slave status\G;

主要关注字段: Slave_IO_Running,Slave_SQL_Running,这两个字段值为 Yes 则从库同步状态良好

image-20220212155245546

至此,主从集群的配置已经基本完成

4 从库设置只读用户

登录从库,添加只读用户

GRANT SELECT ON *.* TO 'userName'@'%' IDENTIFIED BY 'yourPassword';

其中 userName 为数据库用户名,yourPassword 为用户密码

刷新权限

FLUSH PRIVILEGES;

在连接从库时使用只读用户

5 推荐参考资料

MySQL集群部署(使用多个MySQL实例模拟)

MySQL主从复制配置


http://chatgpt.dhexx.cn/article/quRLVI9L.shtml

相关文章

MySQL数据库主从集群架构搭建

一、相关概念 二、配置一主一从 三、配置一主多从 四、配置主从从 五、配置主主结构 六、配置半同步复制模式 一、相关概念 1.1 主从同步介绍: 存储数据的服务结构,分为2种角色: 主服务器(master):接受客户端访问连接 从服务器(sl…

谈谈mysql数据库集群

现在,随着上网人数的激增,一些大型的网站开始使用数据库集群来提高数据库的可靠性和数据库的性能。那么在介绍数据库集群之前首先需要弄清楚几个问题。 1.为什么要用数据库集群 (1)通过使用数据库集群可以使读写分离,提…

MySQL集群配置

1. MySQL集群简介 MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器。MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。…

MySQL数据库集群(双主双从)

文章目录 MySQL数据库集群(双主双从)实验环境双主双从双主双从进行测试 MySQL数据库集群(双主双从) 实验环境 保证每台centos7服务器配置静态的IP,初始化服务器,关闭防火前和selinux,保证四台服务器之间可以互相通信,并且做好hosts域名解析…

数据库与集群

数据库与集群 1、数据库集群 概念:数据库集群,顾名思义,就是利用至少两台或者多台数据库服务器,构成一个虚拟单一数据库逻辑映像,像单数据库系统那样,向客户端提供透明的数据服务。 数据库集群两个关键定…

数据库-mysql集群方案总结

一 概念解读 1 数据库高可用 高可用指的是:如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的 可用性,保证业务不会因为数据库的故障而中断。 另外,数据库高可用还要数据一致性,如下: (1) 用作备份、只读副…

数据库集群

目录 主从复制集群单机数据库的问题单机到集群主从复制传统主从复制异步复制半同步复制 组复制(MGR MySQL Group Replication MGR ) 主从复制演示准备两个MySQL服务实例修改主数据库MySQL_A的my.ini中的[mysqld]配置项下的配置如下修改从数据库MySQL_B的…

MySQL数据库的集群方案

1.简介 我们一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是说采用数据库集群的方案: 其中一个是主库,负责写入数据,我们称之为:写库; 其它都是从库&…

MySQL集群解决方案(1):MySQL数据库的集群方案

1、系统架构存在的问题 在我们的系统架构中,DBserver方面我们只是使用了单节点服务,如果面对大并发,海量数据的存储,显然单节点的系统架构将存在很严重的问题,所以接下来,我们将实现MySQL的集群&#xff0c…

C语言回调函数详解及实例

C语言回调函数详解及实例 回调函数:函数 F1 调用函数 F2 的时候,函数 F1 通过参数给函数 F2 传递了另外一个函数 F3 的指针,在函数 F2 执行的过程中,函数F2 调用了函数 F3,这个动作就叫做回调(Callback&…

回调函数

什么是回调函数? 有以下三点 1、自己创建的函数; 2、没有调用; 3、但是函数执行了(在某个条件下)。 例如: 1.定时器函数 var a 1setItercal( function(){aconsole.log(a)},1000)//延时器var a 1setTimeout( functi…

C++中回调函数的一个简单例子?

回调函数应用实例: 1、定义一个Person类 (Person.h)文件: 注意:在这个类中指定了回调函数,回调函数的执行者,和回调函数指针 重要的是 回调函数和回调函数指针是怎么关联的? 2、…

一个简单的jQuery回调函数例子

欢迎扫码加入Java高知群交流 jQuery回调函数简单使用 比如说,我们想要点击某个按钮后触发事件, 先把一些指定内容给隐藏掉, 然后跳出相关信息的对话框。 如果使用普通的方法, 不用回调函数的话, 会有怎么样的效…

【C语言】回调函数

目录 前言 一、回调函数是什么? 二、使用步骤 1.举例 2.库函数中的例子 3.模拟实现qsort()函数 前言 随着我们对C语言的学习以及对指针更加深入的了解,我们避免不了接触到回调函数,以下是关于回调函数的知识分享。 一、回调函数是什么…

C语言回调函数一个简单的例子

回调函数通俗的解释: 普通函数:你所写的函数调用系统函数,你只管调用,不管实现。 回调函数:系统调用你所写的函数,你只管实现,不管调用。 以下是使用C语言实现回调函数的一个例子&a…

JS回调函数——简单易懂有实例

初学js的时候&#xff0c;被回调函数搞得很晕&#xff0c;现在回过头来总结一下什么是回调函数。什么是JS&#xff1f;&#xff08;点击查看&#xff09; 下面先看看标准的解释&#xff1a; <script language"javascript"> 02 function SortNumber( obj, …

C语言回调函数详解(全网最全)

文章目录 一、函数指针1.概念2,如何用函数指针调用函数3.**函数指针作为某个函数的参数**4.函数指针作为函数返回类型5.函数指针数组6.函数指针总结 二、回调函数1.什么是回调函数2 为什么要用回调函数&#xff1f;3 怎么使用回调函数&#xff1f;4.下面是一个四则运算的简单回…

回调函数(简单易懂)

因为今天又遇到新的回调函数的形式 callback && callback()&#xff1b;所以搜了一下回调函数&#xff0c;发现真的好多人写得好复杂啊&#xff0c;看得我昏昏欲睡还是看不懂&#xff0c;还有看到有的人说是 主函数执行完再去执行回调函数&#xff0c;我顿时无语&…

回调函数的使用(完整例程)

前提是了解函数指针的基本用法&#xff08;定义函数指针以及调用&#xff09;&#xff0c;可以看下面这个帖子&#xff0c;一步到位 函数指针的一个定义和两个调用 实战&#xff08;完整代码例子&#xff09; #include<bits/stdc.h> using namespace std; int add(int …

C语言 - 详解回调函数

回调函数和函数指针 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针&#xff08;地址&#xff09;作为参数传递给另一个 函数&#xff0c;当这个指针被用来调用其所指向的函数时&#xff0c;我们就说这是回调函数。回调函数不是由该函数 的实现方直接调用&#…