Linux安装Mysql主从集群(图文解说详细版)

MySQL主从集群是一种数据库架构模式,由一个主数据库(Master)和多个从数据库(Slave)组成。在主从集群中,主数据库负责处理写操作(如插入、更新、删除),而从数据库则用于读操作。

主数据库是集群的核心,它接收来自客户端的所有写操作,并将这些操作记录到二进制日志(Binary Log)。从数据库通过连接到主数据库,并从主数据库的二进制日志中复制数据变更,以保持与主数据库的数据一致性。

主从集群的优势有两个方面:

  1. 高可用性:当主数据库发生故障时,可以快速切换到其中一个从数据库作为新的主数据库,从而确保系统的持续可用性。
  2. 数据冗余和读扩展:从数据库可以用于处理读操作,从而减轻主数据库的读负载。此外,通过将数据复制到多个从数据库,可以增加数据的冗余性,提高系统的可靠性。

在设置主从集群时,需要注意以下几点:

  1. 确保网络连接的稳定性和延迟较低,以保证主数据库和从数据库之间的数据同步效果。
  2. 配置正确的复制参数,包括复制用户权限、二进制日志格式等,以确保数据正确地从主数据库复制到从数据库。
  3. 定期监控主从数据库的状态,确保复制过程正常进行,并及时处理异常情况。

MySQL主从集群是一种常用的数据库架构模式,适用于高可用性和数据冗余要求较高的环境。通过合理配置和管理,可以有效提升数据库系统的性能和可靠性。

上次我们讲了Linux中Mysql的安装:
Linux安装Mysql(图文解说详细版,安装包tar包版)

文章目录

    • 第一步,安装mysql服务
    • 第二步,配置主机环境
    • 第三步,给主机分配对从机的权限
    • 第四步,配置从机环境
    • 第五步,在从机配置主机地址
    • 第六步,启动从机
    • 第七步,验证集群
      • 情况一:新增数据库
      • 情况二:添加数据表
    • 拓展:
      • 第一步,编辑`my.cnf`文件,加个skip-grant-tables(登录时跳过权限检查)
      • 第二步,重启mysql
      • 第三步,登录mysql
      • 第四步,修改密码
      • 第五步,开启远程访问

这次我们搭建一主双从的集群,需要准备以下三台Linux服务器

ip 端口 角色
192.168.75.128 3306
192.168.75.129 3306
192.168.75.130 3306

第一步,安装mysql服务

原来博主写过安装mysql的文章,这里不在赘述:

标题 地址
Linux安装Mysql(图文解说详细版,安装包tar包版) https://blog.csdn.net/csdnerM/article/details/128202916
Linux安装Mysql(图文解说详细版,yum版本) https://masiyi.blog.csdn.net/article/details/121095527
Windows安装Mysql(图文解说详细版,无msi版本) https://masiyi.blog.csdn.net/article/details/127004660
Mac安装Mysql(图文解说详细版) https://masiyi.blog.csdn.net/article/details/124326946

第二步,配置主机环境

这篇教程,是依据上面表格中的tar包安装,所以也是基于tar包去讲,请大家在能连到三台服务器的mysql之后才阅读该文章

Linux安装Mysql主从集群(图文解说详细版)_第1张图片

为了避免服务器之间通不了信,所以我们需要关闭三台服务器的防火墙

service firewalld stop

找到etc/my.cnf文件,没有的话就新建一个etc/my.cnf

#[必须]主服务器唯一ID
server-id=1
##[必须]启用二进制日志,指名路径。比如:自己本地的路径/log/mysqlbin
log-bin=masiyi-bin

加入以下配置

Linux安装Mysql主从集群(图文解说详细版)_第2张图片

之后重启数据库:

Linux安装Mysql主从集群(图文解说详细版)_第3张图片

注意看图里面的操作

第三步,给主机分配对从机的权限

#在主机MySQL里执行授权主从复制的命令
GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'从机器数据库IP' IDENTIFIED BY '123456.com';

这条命令是用于将复制权限授予名为 “slave1” 的从机器数据库,并且将允许从机器使用用户名为 “slave1”,密码为 “123456.com” 连接到主服务器。

例如本安装环境则执行:

GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'192.168.75.128' IDENTIFIED BY '123456.com';
GRANT REPLICATION SLAVE ON *.* TO 'slave2'@'192.168.75.130' IDENTIFIED BY '123456.com';

Linux安装Mysql主从集群(图文解说详细版)_第4张图片

执行好之后查看主机的配置信息:

show master status;

Linux安装Mysql主从集群(图文解说详细版)_第5张图片

记住File属性和Position属性,这个我们待会会用到

  • File: 当前正在操作的binlog文件的名称为"masiyi-bin.000001"。
  • Position: 表示读取该binlog文件时的位置,当前位置为750。这个位置可以用来恢复或回放特定的数据库操作。

第四步,配置从机环境

同样的找到etc/my.cnf

第一部从机:128

Linux安装Mysql主从集群(图文解说详细版)_第6张图片

添加

#[必须]从服务器唯一ID
server-id=2

第二部从机:130

Linux安装Mysql主从集群(图文解说详细版)_第7张图片

#[必须]从服务器唯一ID
server-id=3

第五步,在从机配置主机地址

CHANGE MASTER TO 
MASTER_HOST='主机的IP地址',
MASTER_USER='主机用户名',
MASTER_PASSWORD='主机用户名的密码',
MASTER_LOG_FILE='mysql-bin.具体数字',
MASTER_LOG_POS=具体值;

在本环境中命令如下:

130机器:

CHANGE MASTER TO MASTER_HOST='192.168.75.129',MASTER_USER='slave2',MASTER_PASSWORD='123456.com',MASTER_LOG_FILE='masiyi-bin.000001',MASTER_LOG_POS=750;

Linux安装Mysql主从集群(图文解说详细版)_第8张图片

128机器:

CHANGE MASTER TO MASTER_HOST='192.168.75.129',MASTER_USER='slave1',MASTER_PASSWORD='123456.com',MASTER_LOG_FILE='masiyi-bin.000001',MASTER_LOG_POS=750;

Linux安装Mysql主从集群(图文解说详细版)_第9张图片

第六步,启动从机

128和130都要执行

#启动slave同步
START SLAVE;

Linux安装Mysql主从集群(图文解说详细版)_第10张图片

执行成功之后查看从机状态

 SHOW SLAVE STATUS;

Linux安装Mysql主从集群(图文解说详细版)_第11张图片

如上图所示则为启动成功

第七步,验证集群

情况一:新增数据库

主机情况:

Linux安装Mysql主从集群(图文解说详细版)_第12张图片

从机情况:

Linux安装Mysql主从集群(图文解说详细版)_第13张图片

create database test_mysql1;

主机成功添加

Linux安装Mysql主从集群(图文解说详细版)_第14张图片

从机130成功同步:

Linux安装Mysql主从集群(图文解说详细版)_第15张图片

情况二:添加数据表

CREATE TABLE `test` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

Linux安装Mysql主从集群(图文解说详细版)_第16张图片

从机128成功同步

Linux安装Mysql主从集群(图文解说详细版)_第17张图片

其他的情况这里就不一一列举了

拓展:

在安装过程中初始话时mysql的默认密码用不了

第一步,编辑my.cnf文件,加个skip-grant-tables(登录时跳过权限检查)

Linux安装Mysql主从集群(图文解说详细版)_第18张图片

第二步,重启mysql

[root@localhost bin]# sh ../support-files/mysql.server restart

第三步,登录mysql

进入bin文件夹直接运行./mysql就直接进来了

Linux安装Mysql主从集群(图文解说详细版)_第19张图片

第四步,修改密码

先刷新权限,才能修改密码

flush privileges;

Linux安装Mysql主从集群(图文解说详细版)_第20张图片

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456.com';

第五步,开启远程访问

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456.com' WITH GRANT OPTION;
flush privileges;

Linux安装Mysql主从集群(图文解说详细版)_第21张图片

通过本篇博客,我们详细介绍了Linux系统下安装MySQL主从集群的过程,并提供了图文解说,希望能给读者带来实用的指导。

在本文中,我们首先介绍了MySQL主从集群的概念和优势,了解了它如何提供高可用性和数据冗余的解决方案。接着,我们逐步演示了安装和配置主从集群的关键步骤,包括设置主库、创建复制用户、配置从库等。每个步骤都配有详细说明和相关截图,以便读者更好地理解和实践。

通过搭建MySQL主从集群,您可以实现数据的高可用性和读写分离,提升数据库系统的性能和稳定性。此外,博主还提供了一些拓展知识,帮助您更好地应对实际环境中可能遇到的挑战。

希望本篇博客能为读者提供清晰的指导,能够成功在Linux系统上安装MySQL主从集群。如果您有任何疑问或需要进一步的帮助,请随时提问。感谢阅读!

在这里插入图片描述

你可能感兴趣的:(linux,linux,mysql,java)