以下是详细讲解“CentOS7开启MySQL8主从备份、每日定时全量备份(推荐)”的完整攻略。
总体思路
本篇攻略的主要目的是让使用CentOS7操作系统的MySQL8用户,能够通过主从备份和每日全量备份,保证数据的高可用和安全性。主要分为以下步骤:
- 确认MySQL8版本和端口
- 安装MySQL8
- 设置MySQL8主从复制
- 配置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技术站