CentOS7开启MySQL8主从备份、每日定时全量备份(推荐)

以下是详细讲解“CentOS7开启MySQL8主从备份、每日定时全量备份(推荐)”的完整攻略。

总体思路

本篇攻略的主要目的是让使用CentOS7操作系统的MySQL8用户,能够通过主从备份和每日全量备份,保证数据的高可用和安全性。主要分为以下步骤:

  1. 确认MySQL8版本和端口
  2. 安装MySQL8
  3. 设置MySQL8主从复制
  4. 配置MySQL8定时全量备份

下面一一解释。

确认MySQL8版本和端口

首先需要确认本机是否已经安装了MySQL8,并且MySQL8运行在哪个端口。可以通过以下命令进行查询:

mysql -V
netstat -lnp | grep mysql

其中,第一个命令用于查看MySQL8版本信息,第二个命令用于查看MySQL8运行的端口。

安装MySQL8

如果还未安装MySQL8,可以通过以下命令进行安装:

sudo yum install -y mysql-server

安装完成后,可以通过以下命令进行启动和设置开机自启动:

sudo systemctl start mysqld
sudo systemctl enable mysqld

设置MySQL8主从复制

接下来是设置MySQL8的主从复制。主从复制是一种数据复制技术,通过将一台MySQL服务器的数据自动同步到其他服务器上,从而实现多台服务器之间数据同步的目的。

具体步骤如下:

1. 在主服务器上设置

在主服务器上运行以下命令,设置master角色:

sudo vim /etc/my.cnf

在末尾添加以下配置:

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

log-bin配置项用于开启二进制日志记录,server-id用于设置服务器ID,这里设置为1。

2. 在从服务器上设置

在从服务器上运行以下命令,设置slave角色:

sudo vim /etc/my.cnf

在末尾添加以下配置:

[mysqld]
server-id=2

3. 在主服务器上创建授权用户

在主服务器上运行以下命令,创建授权用户:

CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

其中,'repl'是用户名称,'%'表示可以从任何主机连接到服务器,'password'是密码。

4. 在从服务器上连接到主服务器

在从服务器上运行以下命令,连接到主服务器:

CHANGE MASTER TO
MASTER_HOST='master_host_name',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=120;

其中,MASTER_HOST是主服务器的IP地址或域名,MASTER_USER和MASTER_PASSWORD分别是之前创建授权用户时的用户名和密码,MASTOR_PORT是主服务器的MySQL端口,MASTER_LOG_FILE和MASTER_LOG_POS分别是主服务器当前日志文件和日志文件的位置。

5. 在从服务器上启动slave

在从服务器上运行以下命令,启动slave:

START SLAVE;

至此,MySQL8主从复制已经设置完成。

配置MySQL8定时全量备份

MySQL8的定时全量备份可以通过使用crontab命令和mysqldump命令实现。具体步骤如下:

1. 安装crontab

如果还未安装crontab,可以使用以下命令进行安装:

sudo yum install -y cronie

2. 配置crontab定时任务

运行以下命令打开crontab编辑器:

crontab -e

在编辑器中添加以下内容,表示每天凌晨1点进行备份:

0 1 * * * /usr/bin/mysqldump -u DB_USERNAME -pDB_PASSWORD --all-databases > /var/backup/mysql/full_backup.sql

其中,DB_USERNAME表示MySQL的用户名,DB_PASSWORD表示MySQL的密码。

3. 配置备份文件保存路径

使用以下命令创建备份文件夹:

sudo mkdir -p /var/backup/mysql

4. 设置备份文件夹权限

运行以下命令设置权限:

sudo chmod 777 /var/backup/mysql

至此,MySQL8的定时全量备份已经设置完成。

示例说明

下面给出两个使用示例。

示例一:在主服务器上进行数据新增操作

在主服务器上运行以下命令:

USE test;
INSERT INTO test_table VALUES (1,2,3);

再在从服务器上运行以下命令进行查询:

USE test;
SELECT * FROM test_table;

可以看到主服务器新增的数据已经同步到了从服务器。

示例二:手动触发MySQL8全量备份

在任意一台MySQL8服务器上运行以下命令进行全量备份:

/usr/bin/mysqldump -u DB_USERNAME -pDB_PASSWORD --all-databases > /var/backup/mysql/full_backup.sql

其中,DB_USERNAME表示MySQL的用户名,DB_PASSWORD表示MySQL的密码。

备份完成后,可在/var/backup/mysql中找到备份文件full_backup.sql。

以上就是“CentOS7开启MySQL8主从备份、每日定时全量备份(推荐)”的完整攻略。希望能对MySQL8用户有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS7开启MySQL8主从备份、每日定时全量备份(推荐) - Python技术站

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

相关文章

  • redis实践 —— redisReply简析

    redisReply 定义如下: /* This is the reply object returned by redisCommand() */ typedef struct redisReply { int type; /* 返回值类型 */ long long integer; /* 当返回类型为 REDIS_REPLY_INTEGER 时 */ s…

    Redis 2023年4月16日
    00
  • MyBatisPlus 大数据量查询慢的问题解决

    长时间的 SQL 执行和慢查询经常是面对大量数据时的问题。在使用 MyBatisPlus 进行大数据量的查询时,也会遇到这样的问题。下面详细讲解如何解决这些问题。 问题背景 在使用 MyBatisPlus 进行大数据量的查询时,由于返回的数据较多,可能会导致 SQL 执行时间较长,甚至会出现慢查询的情况。下面列举几个可能会导致查询缓慢的因素: 数据库存储介质…

    database 2023年5月21日
    00
  • oracle和mysql几点差异对比

    Oracle与mysql差异性总结 之前有个项目是用oracle数据库进行开发,需要把数据库改成mysql,遇到了一些地方需要注意的,就简单记了下来。 备注: 再把oracle转成mysql的时候,表中字段的类型转换是比较头疼的,比如oracle中的number转成mysql的时候,你要从“FLOAT、DOUBLE、TINYINT、 SMALLINT、MED…

    MySQL 2023年4月13日
    00
  • 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接

    深入理解SQL的四种连接 背景 在使用关系型数据库时,连接是一个非常重要的操作。有很多种连接方式,本文将介绍SQL中最常见的四种连接:左外连接、右外连接、内连接和全连接。 左外连接(LEFT JOIN) 左外连接是指将左表中的所有行与右表中匹配的行连接起来,如果右表中没有匹配的行,则用空值来填充。语法如下: SELECT * FROM table_a LEF…

    database 2023年5月22日
    00
  • django 按时间范围查询数据库实例代码

    下面是详细讲解用Django按时间范围查询数据库实例代码的完整攻略。 一、准备工作 在开始编写Django时间范围查询代码之前,需要先进行以下准备工作: 在Django项目中创建需要查询的数据库模型(models)。 确认所查询的数据库模型中是否有记录添加时间(create_time)字段或其他相关时间字段。 二、查询时间范围 在Django中,可以使用fi…

    database 2023年5月19日
    00
  • MySQL索引是啥?不懂就问

    MySQL索引是用来优化数据库查询速度的一种数据结构。它可以让数据库系统在查询数据时能够更快地找到所需要的数据,从而提高查询效率。一个合适的索引可以显著地提高数据库的查询性能和运行速度。 什么是MySQL索引 MySQL索引是一种可以帮助我们快速查找数据的结构,它类似于书籍的目录,用于存储要查询表中的数据的位置,以便在查询时能够更快地找到所需要的数据。索引可…

    database 2023年5月19日
    00
  • 基于ubuntu中使用mysql实现opensips用户认证的解决方法

    下面是详细讲解“基于ubuntu中使用mysql实现opensips用户认证的解决方法”的完整攻略。 概述 在这个攻略中,我们将介绍如何在Ubuntu操作系统上使用MySQL数据库实现OpenSIPS用户认证。OpenSIPS 是一款基于 Session Initiation Protocol(SIP)的开放源代码 SIP 服务器软件。如果您想要使用 Ope…

    database 2023年5月22日
    00
  • Ubuntu18.04系统安装、配置Redis及phpredis扩展操作详解

    Ubuntu 18.04系统安装、配置Redis及phpredis扩展操作详解 本文将介绍Ubuntu 18.04系统上安装、配置Redis,以及安装phpredis扩展的详细操作。 安装Redis 更新系统 在Ubuntu 18.04系统上,使用apt-get命令进行更新系统: sudo apt-get update && sudo apt…

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