Linux系统MySQL自动备份

ROED2023-08-07  279

1、配置自动备份环境

1.1、在data目录下新建存放备份数据的文件夹

mkdir -p /data/backup/mysql

#进入backup目录创建mysql_backup.sh的脚本并且填充数据

vi mysql_backup.sh

 

1.2、编辑mysql_backup.sh脚本并添加如下数据        

#!/bin/bash

#db_user='root'

#db_password=`cat /data/www/mysql_password`

#数据库名称

db_name='test'

#生成备份存放的目录

backup_dir='/data/backup/mysql/'

#生成日期

current_time=$(date +'%Y-%m-%d_%H%M%S')

filepath=$backup_dir$current_time'.sql.gz'

#此处没有使用 $db_password $db_user, 已经写入到配置文件中

echo '开始导出数据库...'

#/etc/my.cnf这个是mysql具体的配置文件,根据自己实际安装路径填写

mysqldump --defaults-extra-file=/etc/my.cnf  $db_name | gzip > $filepath

echo '导出成功,文件名为: '$filepath

 

1.3、找到mysql的配置文件my.cnf并编辑

[mysqldump]

max_allowed_packet= 400M

host=127.0.0.1

user=root

password='root123' # 设置为自己的密码例如我的为root123

[mysql]

host=127.0.0.1

#mysql账号

user=root

#mysql密码

password='root123'

 

1.4 脚本增加权限

chmod +x ./mysql_backup.sh

 

1.5 TEST 测试是否可以导出成功

sh ./mysql_backup.sh

# 查看一下结果

ll ./mysql

 

2.1、在终端输入如下命令

crontab -e

#粘贴下面的内容, 大家根据自己的需要更改就可以了

0 1,12 * * * /data/backup/mysql_backup.sh # 每天凌晨1点,中午12点备份一次数据

#大家可以先使用下面这条做为测试哦,1分钟跑一次,我们只需要查看 ll /data/backup/mysql 这个文件夹就好了

*/1 * * * * /data/backup/mysql_backup.sh

 

2.2、crontab的停止和启动命令

启动:systemctl crond start

停止:  systemctl crond stop

随便看看
申明 1、网站名称:容易得 网址:WWW.ROED.CN
2、网站的内容来源于网络,如有侵权,请联系邮箱:185254287#qq.com 本站会在7个工作日内进行删除处理。
3、转载发布此文目的在于传递分享更多信息,仅代表原作者个人观点,并不代表本站赞同其观点和对其真实性负责。文章内容仅供参考,请读者自行甄别,以防风险。
4、禁止发布和链接任何有关政治、色情、宗教、迷信、低俗、变态、血腥、暴力以及危害国家安全,诋毁政府形象等违法言论和信息。
转载请注明原文地址:https://www.roed.cn/read-91013.html