当前位置:   article > 正文

centos下实现mysql自动备份_centos mysql自动备份

centos mysql自动备份
1.创建备份目录
cd /home
mkdir lmr
cd lmr
mkdir backup
cd backup
  • 1
  • 2
  • 3
  • 4
  • 5
2.设置备份用户名及密码

【原网站:https://blog.csdn.net/qq_31851107/article/details/102578183】

注意:使用导出命令:mysqldump -uusername -ppassword DatabaseName > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql报错:mysqldump: [Warning] Using a password on the command line interface can be insecure

原因:mysql自5.7版本开始,考虑到mysql的安全性而更改对保护机制,在mysqldump备份数据库对时候不能直接在命令行上书写数据库的密码

修改mysql配置文件:/etc/my.cnf【mysql 查看当前使用的配置文件my.cnf的方法(推荐)

[client]
host = localhost
user = root
password = 'root'
# 导出远程数据库只需将host值换成远程ip或域名就可以
  • 1
  • 2
  • 3
  • 4
  • 5

注意:主要是添加host user password 三个参数,必须填写在[client]模块下,如果my.cnf文件中没有该模块,手动填写一个(必须),然后再下面补充数据库的三个配置信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gv5xrYFM-1647938088587)(http://lmr.luomuren.top/006CtYvJly1gplemsg7kkj30pu02zjrp.jpg)]

使用新的mysqldump命令进行备份

mysqldump --defaults-extra-file=/etc/my.cnf blog01 > /home/abcd.sql
  • 1

导入/恢复数据库

mysql --defaults-extra-file=/etc/my.cnf blog0101 < /home/test0101.sql
  • 1
2.创建并测试备份脚本
vi backup.sh
  • 1

输入脚本内容

#!/bin/bash
mysqldump --defaults-extra-file=/etc/mysql/mysql.conf.d/mysqld.cnf solo > /home/lmr/backup/solo.sql
  • 1
  • 2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vBf0L8Qt-1647938088588)(http://lmr.luomuren.top/006CtYvJly1gple8lc34vj30vk0380sm.jpg)]

添加可执行权限

chmod u+x backup.sh
  • 1

执行脚本

./backup.sh
  • 1
3.添加定时任务执行脚本

【原网站:https://blog.csdn.net/dbagaoshou/article/details/82116501】

  1. 检测或安装 crontab确认crontab是否安装:

    执行 crontab 命令如果报 command not found,就表明没有安装

    # crontab
    -bash: crontab: command not found
    
    • 1
    • 2

    如时没有安装 crontab,需要先安装它,具体步骤请参考: Linux Crontab 安装使用详细说明

  2. 安装

    [root@master data]# yum -y install vixie-cron
    [root@master data]# yum -y install crontabs
    说明:
    vixie-cron 软件包是 cron 的主程序;
    crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
    
    • 1
    • 2
    • 3
    • 4
    • 5
  3. 添加计划任务

    crontab -e
    
    • 1

    这时就像使用vi编辑器一样,可以对计划任务进行编辑。
    输入以下内容并保存:

    */1 * * * * /home/lmr/backup/backup.sh
    
    • 1

    意思是每一分钟执行一次shell脚本“/home/lmr/backup/backup.sh”。

    Linux crontab命令详解

    其他时间:

    # 每天一点
    0 1 * * * /home/lmr/backup/backup.sh
    
    • 1
    • 2
  4. 测试任务是否执行
    很简单,我们就执行几次“ls”命令,看看一分钟过后文件有没有被创建就可以了!

    如果任务执行失败了,可以通过以下命令查看任务日志:

    # tail -f /var/log/cron
    
    • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/882637
推荐阅读
相关标签
  

闽ICP备14008679号