CentOS7开启MySQL8主从备份、每日定时全量备份的方法
1. 安装MySQL8
首先需要安装MySQL8,并配置主从服务器间互相访问和同步数据。安装过程可以参考其他教程或官方文档。
2. 配置主从同步
需要在主服务器上开启binlog功能,并配置主从服务器的关联。配置步骤如下:
(1)在主服务器上修改my.cnf文件,添加以下配置:
log-bin=mysql-bin #启用二进制日志 server-id=1 #主服务器ID, 标识
重启MySQL服务后,binlog功能即可开启。
(2)在主服务器上创建一个用于从服务器复制的账户,示例代码如下:
CREATE USER 'replication'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';
注意,password需要替换成自己设置的密码。
(3)在从服务器上修改my.cnf文件,添加以下配置:
server-id=2 #从服务器ID, 标识 relay-log=relay-bin #中继日志,用于将主服务器的binlog同步到从服务器上
(4)在从服务器上执行以下命令,指定主服务器的IP及复制账户的用户名和密码:
CHANGE MASTER TO MASTER_HOST='master_ip', #主服务器的IP地址 MASTER_USER='replication', #用于从服务器复制的账户用户名 MASTER_PASSWORD='password', #与该账户关联的密码 MASTER_PORT=3306, #主服务器的端口,默认是3306 MASTER_LOG_FILE='mysql-bin.000001', #主服务器binlog文件名,自动获取最新的文件 MASTER_LOG_POS=0; #主服务器binlog文件的起始位置,设置为0
注意,mysql-bin.000001需要替换成主服务器上最新的binlog文件名。
(5)在主服务器上执行以下命令,确认主从服务器已经关联:
SHOW MASTER STATUS;
可以查看到如下输出:
+------------------+-----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+-----------+--------------+------------------+ | mysql-bin.000001 | 120 | | | +------------------+-----------+--------------+------------------+ 1 row in set (0.00 sec)
(6)在从服务器上执行以下命令,开始同步主服务器的数据:
START SLAVE;
(7)检查从服务器的同步状态:
SHOW SLAVE STATUS \G;
可以查看到如下输出:
... Slave_IO_State: Waiting for master to send event ... Slave_IO_Running: Yes ... Slave_SQL_Running: Yes ...
当Slave_IO_State为Waiting for master to send event,Slave_IO_Running和Slave_SQL_Running为Yes时,表示从服务器已经成功连接到主服务器并开始同步数据。
3. 配置定时全量备份
可以使用Linux系统的crontab命令,配置任务定时执行。例如,每天凌晨2点执行一次备份:
(1)创建备份命令的脚本文件,例如备份命令为:
mysqldump -u root -p123456 --all-databases > /data/backup/all-databases.sql
则脚本文件可以创建为backup.sh:
#!/bin/bash mysqldump -u root -p123456 --all-databases > /data/backup/all-databases.sql
注意,要将备份文件保存到指定的目录下。将文件保存到/data/backup/目录下。
(2)修改脚本文件的权限:
chmod u+x backup.sh
(3)执行crontab -e命令,编辑用户的crontab配置文件:
0 2 * * * /data/backup/backup.sh
其中,0 2 * * *表示任务将在每天凌晨2点执行,“/data/backup/backup.sh”是备份任务的脚本名称和路径。保存文件后,就可以每天定时执行全量备份任务了。
4. 总结
本文介绍了在CentOS7上开启MySQL8主从备份和设置每天定时全量备份的方法。备份是数据安全的重要保障,通过配置数据库的备份和定时备份任务,我们可以保证数据的可靠性和安全性。
