在centos7上搭建mysql主从服务器的方法(图文教程)

下面是搭建MySQL主从服务器的攻略。

1. 确认主从服务器的实现方式

MySQL主从服务器的实现方式一般有两种:

  • 基于复制的主从服务器
  • 基于半同步复制的主从服务器

基于复制的主从服务器实现简单,但是存在风险,例如主服务器出现宕机导致未同步的数据丢失。基于半同步复制的主从服务器实现较为稳定,但配置比较繁琐。

2. 配置主服务器

在CentOS 7上搭建MySQL主服务器,步骤如下:

2.1 安装MySQL

sudo yum install mariadb-server

2.2 修改MySQL配置文件

sudo nano /etc/my.cnf

在文件末尾添加以下内容:

[mysqld]
server-id=1
log-bin=mysql-bin
binlog-format=row

其中server-id是服务器的唯一标识符,log-bin启用二进制日志,binlog-format指定日志记录的格式。

2.3 重启MySQL服务

sudo systemctl restart mariadb

2.4 创建用于主从同步的账户

登录MySQL服务器并创建同步账户:

sudo mysql -u root -p

执行以下语句:

GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

2.5 获取主服务器的状态

在MySQL命令行中执行以下语句:

SHOW MASTER STATUS;

记录下FilePosition的值,备用。

3. 配置从服务器

在CentOS 7上搭建MySQL从服务器,步骤如下:

3.1 安装MySQL

sudo yum install mariadb-server

3.2 修改MySQL配置文件

sudo nano /etc/my.cnf

在文件末尾添加以下内容:

[mysqld]
server-id=2
log-bin=mysql-bin
binlog-format=row
relay-log=mysqld-relay-bin
replicate-do-db=mydb

其中server-id是服务器的唯一标识符,log-bin启用二进制日志,binlog-format指定日志记录的格式,relay-log指定中继日志文件名,replicate-do-db指定需要同步的数据库名。

3.3 重启MySQL服务

sudo systemctl restart mariadb

3.4 配置从服务器与主服务器的连接

登录MySQL服务器并执行以下命令:

CHANGE MASTER TO
MASTER_HOST='master_host_name',
MASTER_USER='replication_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='file_name',
MASTER_LOG_POS=position;

其中master_host_name是主服务器的IP地址或名称,replication_user是用于同步的账户,password是该账户的密码,file_nameposition是在主服务器上执行SHOW MASTER STATUS命令得到的值。

3.5 开始同步

在MySQL命令行中执行以下命令:

START SLAVE;

这样从服务器就会开始同步主服务器上的数据库了。

示例说明

示例1:实现多台从服务器的同步

如果需要将一个主服务器上的数据同步到多台从服务器中,只需要在每台从服务器上重复执行上面提到的“配置从服务器”的步骤即可。需要注意的是,每个从服务器的server-id需要设置成唯一的值,一般推荐使用从服务器的IP地址作为该值。

示例2:MySQL主服务器替换

如果需要将一个MySQL主服务器替换成另一个服务器,需要进行以下步骤:

  1. 将新的服务器安装MySQL并配置好,参照上面的步骤。
  2. 确认主从服务器之间的连接已经断开。
  3. 在旧的主服务器上执行SHOW MASTER STATUS;命令记录下二进制日志文件名和位置。
  4. 在新的主服务器上执行CHANGE MASTER TO命令。
  5. 在新的主服务器上使用mysqlbinlog命令将旧的主服务器上的二进制日志转换成SQL文件,并在新的主服务器上执行该文件,将数据同步到新的主服务器上。
  6. 修改所有从服务器的连接,将新的主服务器的IP地址或名称和相应的账户密码填写进去。
  7. 在所有从服务器上执行START SLAVE;命令开始同步新的主服务器。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在centos7上搭建mysql主从服务器的方法(图文教程) - Python技术站

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

相关文章

  • 详解SQL Server中的事务与锁问题

    SQL Server中的事务与锁问题 什么是事务? 事务(Transaction)是指作为单个逻辑工作单元执行的一系列操作,这一系列操作必须同时全部成功或全部失败。 在SQL Server中,可以使用BEGIN TRANSACTION、COMMIT TRANSACTION和ROLLBACK TRANSACTION三个语句来控制事务的开始、提交和回滚。 事务的…

    database 2023年5月21日
    00
  • Ubuntu 20.04 安装和配置MySql5.7的详细教程

    Ubuntu 20.04 安装和配置MySQL 5.7的详细教程 MySQL是一个流行的关系型数据库管理系统,它被广泛应用于 Web 应用程序的开发中。在本教程中,我们将学习如何在 Ubuntu 20.04 上安装和配置 MySQL 5.7。 步骤 1 – 更新软件包列表 在开始安装 MySQL 5.7 之前,我们需要更新 Ubuntu 20.04 的软件包…

    database 2023年5月18日
    00
  • [小迪安全]笔记 day12、13 MySQL注入

    MySQL注入 1. 简单案例 1.1 简易代码分析SQL注入原理 http://localhost:8085/sqli-labs/Less-2/index.php?id=2id=2 正常查询 http://localhost:8085/sqli-labs/Less-2/index.php?id=-2id=-2的话什么都查不出来,表中没有负数的 id。 ht…

    2023年4月8日
    00
  • MySQL 和 SQLite 的区别

    MySQL和SQLite是两种常见的关系型数据库管理系统,它们有一些共同点,但也存在不少区别。下面详细讲解MySQL 和 SQLite 的区别。 MySQL 和 SQLite的简介 MySQL: MySQL是一种基于关系模型的数据库管理系统,它采用客户端/服务器架构,常用于大型应用和高并发场景。MySQL支持复杂的SQL查询和事务控制等功能,同时也支持多种语…

    database 2023年3月27日
    00
  • mysql 写入中文乱码

    今天从另一个系统往mysql数据库写入数据,发现中文变成了????? 检查数据库的设置 ,server对应字符集是latinl    调整mysql参数配置,配置文件目录/etc/mysql/mysql.conf.d/ 添加一行:character-set-server = utf8    然后重启mysql服务,再次检查服务器参数配置,重新写入中文已正常。…

    MySQL 2023年4月13日
    00
  • python多进程并发redis

    Redis支持两种持久化方式RDB和AOF,RDB持久化能够快速的储存和回复数据,但在服务器停机时会丢失大量数据,AOF持久化能够高效的提高数据的安全性,但在储存和恢复数据方面要耗费大量的时间,最好的方式是使用RDB-AOF混合持久化。 Redis默认RDB持久化,4.0以上支持混合持久化,首先设置AOF持久化,修改配置文件redis.conf中append…

    Redis 2023年4月13日
    00
  • 解决Springboot项目启动后自动创建多表关联的数据库与表的方案

    解决 Spring Boot 项目启动后自动创建多表关联的数据库与表是一个常见的需求,可以通过以下几个步骤实现: 步骤一:引入依赖 首先需要在 pom.xml 中引入相关的依赖,如下所示: <dependency> <groupId>org.springframework.boot</groupId> <artifa…

    database 2023年5月21日
    00
  • MySQL 5.7 版本的安装及简单使用(图文教程)

    一、MySQL 5.7 版本的安装 官网下载MySQL 5.7的安装包从MySQL的官方网站(https://dev.mysql.com/downloads/mysql/)下载MySQL 5.7的安装包,选择对应操作系统的版本进行下载,建议下载压缩包文件,因为安装包可能不利于后续的更新。 解压MySQL压缩包将MySQL压缩包解压到合适的目录下,解压后主要有…

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