永夜-Evernight

永夜降临之前,你都有改变的资格

centos下实现mysql自动备份

1.创建备份目录

cd /home
mkdir lmr
cd lmr
mkdir backup
cd backup

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或域名就可以

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

使用新的mysqldump命令进行备份

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

导入/恢复数据库

mysql --defaults-extra-file=/etc/my.cnf blog0101 < /home/test0101.sql

2.创建并测试备份脚本

vi backup.sh

输入脚本内容

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

添加可执行权限

chmod u+x backup.sh

执行脚本

./backup.sh

3.添加定时任务执行脚本

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

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

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

    # crontab
    -bash: crontab: command not found
    

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

  2. 安装

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

    crontab -e
    

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

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

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

    Linux crontab命令详解

    其他时间:

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

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

    # tail -f /var/log/cron
    


标题:centos下实现mysql自动备份
作者:luomuren
地址:http://luomuren.top/articles/2021/05/13/1620870681785.html