centos 下实现 mysql 自动备份

本贴最后更新于 958 天前,其中的信息可能已经时移俗易

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
    
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    677 引用 • 535 回帖
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    939 引用 • 940 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...