Linux下定时备份mysql数据库

环境:

  • Centos7
  • MySQL5.5

一、安装MySQL

  Linux下安装mysql的步骤这里就不再详细展开了,可以自行百度。

  或者是使用宝塔面板快速上手:宝塔Linux面板安装教程

1、确保mysql能正常登录:

 2、确保Navicat能够正常连接mysql数据库(执行下面两个步骤)


 平时如果在第一次进行连接的时候,如果出现了这个错误,可以参考:

解决Navicat远程连接数据库出现错误:1130-host ... is not allowed to connect to this MySql server


 出现这个把端口3306给开放。这样才能够通过Navicat进行连接

二、编写shell脚本

1、创建目录

在home目录下新建存储备份数据库数据的文件(可以自定义)

mkdir /home/backup

2、编写shell脚本

这里就简单的进行测试使用,线上的备份依照自己的业务编写:

创建shell脚本文件:

[root@localhost home]touch bkDatabaseName.sh
[root@localhost home]vim touch bkDatabaseName.sh

添加内容(密码跟-p之间不要有空格):

#!/bin/bash
mysqldump -uroot -p密码 进行备份的数据库名 > /home/backup/bjpan_$(date +%Y%m%d_%H%M%S).sql

3、赋权限(赋予shell脚本可执行权限)

chmod 777 bkDatabaseName.sh 

三、编写定时器任务

两个网站参考cron的使用:

Crontab表达式生成

Crontab执行时间计算

编写定时器任务

crontab -e :编辑任务

写入程序:这表示的是每分钟执行一次上面编写的脚本文件

保存退出,即可执行!

*/1 * * * *  /home/backup/bkDatabaseName.sh

crontab -l:列出任务 

Crontab服务操作说明:

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //重新载入配置

crontab文件的含义

用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
minute   hour   day   month   week   command

分时 日 月 周 命令
其中:

  • minute: 表示分钟,可以是从0到59之间的任何整数。
  • hour:表示小时,可以是从0到23之间的任何整数。
  • day:表示日期,可以是从1到31之间的任何整数。
  • month:表示月份,可以是从1到12之间的任何整数。
  • week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
  • command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

 Crontab命令参数:

-u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。

-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。

-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。

-i:列出计划任务。

  

原文地址:https://www.cnblogs.com/zhangzhixi/p/14764572.html