MySql教程

Linux下实现MySQL数据库定时备份

本文主要是介绍Linux下实现MySQL数据库定时备份,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

咳~ 咳~ 为了避免数据操作失误、数据丢失、甚至删库跑路,简单做个数据备份吧

1、创建备份目录

# 习惯放在 local 下
cd /usr/local/
# 创建备份目录
mkdir backup

cd backup
# 在备份目录下创建 sql 文件夹
mkdir sql

 

2、修改 MySQL 配置文件 my.conf

# 编辑 /etc/my.conf 文件地址可能与我不同,自行切换即可
vim /etc/my.conf

# 在开启 binlog
[mysqld]
lob-bin=mysql-bin # 开启二进制日志
server-id=12    # ip后2位

# 添加 mysqldump 配置
[mysqldump]
user=root        # mysql用户名
password=root    # mysql密码

 

3、重启 MySQL 数据库

systemctl restart mysql

  

3、创建 shell 脚本

# 在 backup 目录下创建 备份脚本
vim DBbackup.sh

# 脚本内容如下:
#!/bin/bash
mysqldump bosen_shop | gzip > /usr/local/backup/sql/bosen_shop_$(date +%Y%m%d).sql.gz

  把 bosen_shop 换成自己的数据库名,备份为 gz 文件压缩空间

 

4、DBbackup.sh 添加可执行权限

chmod u+x DBbackup.sh

# 执行脚本看是否有错
./DBbackup.sh

  

5、添加定时计划任务

crontab -e
# 就像vi\vim 功能,要先安装 crontab

# 输入下方内容并保存
* * * /usr/local/backup/DBbackup.sh # 每天 23:30 执行

  查看 当前的定时任务

 crontab -l 

  

6、数据恢复

# 解压 gz 文件
gzip -d bosen_shop_20210711.sql.gz

# 导入数据库
mysql -u root -p bosen_shop < bosen_shop_20210711.sql
# 输入数据库的密码即可

  此时已经恢复定时备份的数据,再打开 binlog 日志。恢复定时备份期间至数据丢失时的数据即可

# 登录 MySQL
mysql -uroot -p
# 输入 root密码

# 查看 binlog
show master logs;

# 根据相应的 log 文件,以及需要恢复的行号执行即可,这里就不多说了

  

 

这篇关于Linux下实现MySQL数据库定时备份的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!