Linux系统MySQL自动备份

1、配置自动备份环境

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

  1. mkdir -p /data/backup/mysql
  2. #进入backup目录创建mysql_backup.sh的脚本并且填充数据
  3. vi mysql_backup.sh

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

  1. #!/bin/bash
  2. #db_user= 'root'
  3. #db_password=`cat /data/www/mysql_password`
  4. #数据库名称
  5. db_name= 'test'
  6. #生成备份存放的目录
  7. backup_dir= '/data/backup/mysql/'
  8. #生成日期
  9. current_time=$(date + '%Y-%m-%d_%H%M%S')
  10. filepath=$backup_dir$current_time '.sql.gz'
  11. #此处没有使用 $db_password $db_user, 已经写入到配置文件中
  12. echo '开始导出数据库...'
  13. #/etc/my.cnf这个是mysql具体的配置文件,根据自己实际安装路径填写
  14. mysqldump --defaults-extra-file=/etc/my.cnf $db_name | gzip > $filepath
  15. echo '导出成功,文件名为: '$filepath

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

  1. [mysqldump]
  2. max_allowed_packet= 400M
  3. host= 127.0 .0 .1
  4. user=root
  5. password= 'root123' # 设置为自己的密码例如我的为root123
  6. [mysql]
  7. host= 127.0 .0 .1
  8. #mysql账号
  9. user=root
  10. #mysql密码
  11. password= 'root123'

1.4 脚本增加权限

chmod +x ./mysql_backup.sh

或者

chmod u+x ./mysql_backup.sh

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

  1. sh ./mysql_backup.sh
  2. # 查看一下结果
  3. ll ./mysql

2.1、在终端输入如下命令

  1. crontab -e
  2. #粘贴下面的内容, 大家根据自己的需要更改就可以了
  3. 0 1, 12 * * * /data/backup/mysql_backup.sh # 每天凌晨 1点,中午 12点备份一次数据
  4. #大家可以先使用下面这条做为测试哦, 1分钟跑一次,我们只需要查看 ll /data/backup/mysql 这个文件夹就好了
  5. */ 1 * * * * /data/backup/mysql_backup.sh

2.2、crontab的停止和启动命令

        启动:/sbin/service crond start

        停止: /sbin/service crond stop

        重新加载: systemctl reload crond.service

        重启服务: systemctl restart crond.service

        查看状态: systemctl status crond.service

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值