centos7 mariadb主从复制配置搭建详解步骤

yizhihongxing

CentOS 7 MariaDB主从复制配置搭建详解步骤

简介

MariaDB主从复制是指将主数据库的数据同步复制到从数据库上,通常用于实现数据备份和负载均衡。本文将介绍如何在CentOS 7上配置MariaDB主从复制。

环境准备

  • 主服务器:IP地址为192.168.1.100,MariaDB版本为10.3;
  • 从服务器:IP地址为192.168.1.101,MariaDB版本为10.3。

配置主服务器

1. 安装MariaDB

使用以下命令在主服务器上安装MariaDB:

yum install mariadb mariadb-server -y

2. 设置MariaDB

启动MariaDB并设置为开机启动:

systemctl start mariadb
systemctl enable mariadb

运行以下命令以保护MariaDB:

mysql_secure_installation

这会提示你设置MariaDB的root密码、删掉匿名用户、禁用root远程登录等。

3. 配置主数据库

编辑MariaDB的配置文件:

vi /etc/my.cnf

在文件的[mysqld]部分添加以下内容:

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

其中,log-bin用来指定二进制日志文件位置,server-id是该服务器的ID。

重启MariaDB:

systemctl restart mariadb

4. 创建复制账户

使用root用户权限登录MariaDB,并创建一个复制账户:

CREATE USER 'replica'@'192.168.1.101' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.1.101';
FLUSH PRIVILEGES;

这样,就创建了一个名为replica的复制账户,准备接收从服务器复制过来的数据。

5. 获取主服务器状态

使用以下命令获取主服务器的状态,记录下其中的File和Position:

SHOW MASTER STATUS;

示例输出:

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      285 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

其中,File和Position将在配置从服务器时使用。

配置从服务器

1. 安装MariaDB

使用以下命令在从服务器上安装MariaDB:

yum install mariadb mariadb-server -y

2. 设置MariaDB

启动MariaDB并设置为开机启动:

systemctl start mariadb
systemctl enable mariadb

3. 配置从数据库

编辑MariaDB的配置文件:

vi /etc/my.cnf

在文件的[mysqld]部分添加以下内容:

[mysqld]
server-id=2

其中,server-id是该服务器的ID。

重启MariaDB:

systemctl restart mariadb

4. 设置从服务器连接主服务器

使用以下命令连接主服务器:

CHANGE MASTER TO
    MASTER_HOST='192.168.1.100',
    MASTER_USER='replica',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='mysql-bin.000001',
    MASTER_LOG_POS=285;
START SLAVE;

其中,MASTER_HOST为主服务器的IP地址,MASTER_USER和MASTER_PASSWORD为在主服务器上创建的复制账户名和密码,MASTER_LOG_FILE和MASTER_LOG_POS为使用SHOW MASTER STATUS命令获取到的File和Position。

5. 测试复制

使用以下命令在主服务器上创建一个新的数据库和表:

CREATE DATABASE testdb;
USE testdb;
CREATE TABLE testtbl (name VARCHAR(10));
INSERT INTO testtbl VALUES ('test');

然后,在从服务器上检查是否成功复制:

USE testdb;
SELECT * FROM testtbl;

如果输出结果为test,即为复制成功。

结论

通过本文的步骤,你已经成功配置了MariaDB主从复制。在实际应用中,可以使用多个从服务器实现数据备份和负载均衡。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:centos7 mariadb主从复制配置搭建详解步骤 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • python安装cx_Oracle模块常见问题与解决方法

    Python是一门功能强大的编程语言,拥有丰富的第三方库,而在与数据库进行交互时,cx_Oracle模块是一个非常常用的选择。但是,在安装cx_Oracle模块过程中,可能会遇到一些问题。本文将提供一份完整攻略,详细说明如何安装cx_Oracle模块并解决其常见问题。 安装cx_Oracle模块 首先,需要安装Oracle客户端。可以从Oracle官方网站下…

    database 2023年5月21日
    00
  • 一个简洁的全自动安装LNMP服务器环境的Shell脚本分享

    下面将为您详细讲解“一个简洁的全自动安装LNMP服务器环境的Shell脚本分享”的完整攻略。 1. 什么是LNMP? LNMP指的是Linux+Nginx+MySQL+PHP的集成环境,它是一种开发环境或者服务器环境。 2. 介绍一下Shell脚本 Shell脚本是一种能够自动化处理任务的脚本语言,它能够通过命令行来运行。简单来说,Shell脚本就是一系列命…

    database 2023年5月22日
    00
  • mysql的登陆和退出命令格式

    MySQL是一款重要的数据库管理系统,登录MySQL时,我们需要输入用户名和密码进行身份验证。下面讲解MySQL的登陆和退出命令格式及其示例。 MySQL登录命令格式 MySQL的登录命令格式为: mysql -u [用户名] -p[密码] 其中,-u表示指定用户名,-p表示指定密码(无空格),该命令表示使用指定的用户名和密码登录MySQL。 示例1:使用r…

    database 2023年5月22日
    00
  • SQL 生成简单的预测

    下面是SQL生成简单的预测的完整攻略: 什么是SQL生成简单的预测? SQL生成简单的预测是指使用SQL语句来进行数据分析并预测结果的方法。这种方法适用于数据量较小、结构简单的数据集,通常用于做一些简单的数据预测和分析。 SQL生成简单的预测的具体步骤 SQL生成简单预测的步骤主要包括以下几个方面: 1. 寻找数据源 首先需要找到数据源。数据源可以是数据库里…

    database 2023年3月27日
    00
  • mysql实现事务的提交与回滚的实例详解

    MySQL实现事务的提交与回滚的实例详解 什么是数据库事务 数据库事务(Transaction)是指,作为单个逻辑工作单元执行的一组数据操作,要么全都成功执行,要么全部失败回滚,从而保持数据的一致性。在数据库中,事务可以被理解为一个完整的操作流程,要么全部执行成功,要么全部不执行。 MySQL中事务的实现方法 在MySQL中实现事务有两种方法: 基于SQL语…

    database 2023年5月22日
    00
  • Redis操作list

    来自:http://www.cnblogs.com/alex3714/articles/6217453.html List操作,redis中的List在在内存中按照一个name对应一个List来存储。如图:   lpush(name,values) 1 2 3 4 5 6 7 8 # 在name对应的list中添加元素,每个新的元素都添加到列表的最左边   …

    Redis 2023年4月13日
    00
  • SQL 定位连续值区间的开始值和结束值

    定位连续值区间的开始值和结束值可以使用SQL窗口函数中的LEAD和LAG函数,它们可以分别返回当前行之后和之前的行,通过与当前行进行比较来确定区间的开始和结束。以下是详细步骤的攻略和两条实例: 步骤 1.输入LEAD或LAG函数,然后在括号中输入要比较的字段和偏移量,偏移量表示要比较的行是当前行之前还是之后的第几行。 2.使用OVER关键字定义分组,以确保针…

    database 2023年3月27日
    00
  • 最详细的SQL注入相关的命令整理 (转)

    来详细讲解一下“最详细的SQL注入相关的命令整理 (转)”这篇文章的内容。 首先,本文主要介绍了SQL注入的基本原理和各种相应的攻击命令。其中包括了常见的注入语句如SELECT、UNION SELECT、ORDER BY、GROUP BY等等。除此之外,还介绍了一些高级的注入技巧如使用MySQL函数来进行注入、利用注入获取管理员密码等等。并且,文章还提供了大…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部