Linux下实现mysql数据库每天自动备份

1、基本操作步骤
a、创建备份目录
mkdir -m 777 /home/wwwroot/backup
b、创建备份脚本sh
vim /home/wwwroot/backup/sqlback.sh
mysqldump -uroot -p123456 databasename | gzip > /home/wwwroot/backup/sql/databasename_$(date +%Y%m%d).sql.gz
c、设置脚本权限为可执行
chmod 777 /home/wwwroot/backup/sqlback.sh
d、创建计划任务
vim /var/spool/cron/root
10 2 * * * /home/wwwroot/backup/sqlback.sh
e、查看计划任务执行日志
tailf /var/log/cron d、删除7天前的备份数据
find /home/wwwroot/backup/sql/ -mtime +7 -name "*.sql.gz" -exec rm -rf {} \; 2、mysqldump命令
a、只导出数据库表结构 mysqldump -h主机 -P端口 -u用户 -p密码 -d 数据库名 > 备份存储路径
b、导出数据库表结构及数据 mysqldump -h主机 -P端口 -u用户 -p密码 数据库名 > 备份存储路径
备注:密码有特殊字符例如:!@#时候可以变成\!\@\# (特殊字符转义一下) 3、crontab定时任务
a、crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务
b、任务调动有两类:系统任务调动和用户任务调动
系统任务调动:/etc/crontab文件 (创建命令时需要在5个8之后加上root command)
用户任务调动:/var/spool/cron文件夹中创建以用户组命名的文件(root或者userxxx) (执行命令时可不加用户名)
任务调动格式:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command
c、crontab服务操作
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //启动服务 4、删除7天前的备份数据
find /home/wwwroot/backup/sql/ -mtime +7 -name "*.sql.gz" -exec rm -rf {} \;
a、/home/wwwroot/backup/sql/ 想要清理的目录
b、-mtime 标准语句写法
c、+7 查找7天前的文件
d、-name 标准语句写法
e、"*.sql.gz" 查找文件后缀是以.sql.gz结束的所有文件
f、-exec 标准语句写法
g、rm -rf 强制删除文件,包括目录
h、{} \; 标准语句写法 5、10 2 * * * /home/wwwroot/backup/sqlback.sh > /home/wwwlogs/cron 2>&1
此处只解释:2>&1 标准错误2输出重定向到标准输出1

  

备注:MySQL 5.6 警告信息 mysqldump: [Warning] Using a password on the command line interface can be insecure的处理方式
  vim /etc/my.cnf 最下面添加如下代码:
[mysqldump]
user=your_backup_user_name
password=your_backup_password

最后直接执行:
mysqldump databasename | gzip > /home/wwwroot/backup/sql/databasename_$(date +%Y%m%d).sql.gz

  

Linux下实现mysql数据库每天自动备份的更多相关文章

  1. 如何在linux下实现mysql数据库每天自动备份

    建备份文件夹: mkdir mysql_data_bak 建脚本文件: touch autobackupmysql.sh 打开文件 vi  autobackupmysql.sh 在脚本中加入如下内容: ...

  2. Linux实现MySQL数据库凌晨自动备份

    Linux实现MySQL数据库凌晨自动备份 备份多数据库,每天凌晨两点执行,使用当前年月日作为文件夹,不存在该文件夹就创建,删除七天前备份过的文件. 定时调度使用crontab 1 login_use ...

  3. windows下数据库文件使用脚本同步到linux下的mysql数据库中

    1.背景 windows server 2008 下 每天会有 *.sql数据文件 需要上传到linux 中的mysql数据库中 而运维人员是在 windows server 下使用 xshell 连 ...

  4. Mysql数据库如何自动备份

    Mysql数据库如何自动备份 一.总结 一句话总结:用navicat配合windows的批处理即可 navicat windows批处理 二.Mysql数据库自动备份 参考:Mysql数据库自动备份 ...

  5. Linux下开启mysql数据库的远程访问权限

      摘要:今天在Linux服务器上安装了msyql数据库,在本地访问的时候可以访问,但是我想通过远程的方式访问的时候就不能访问了,查询资料后发现,Linux下MySQL默认安装完成后只有本地访问的权限 ...

  6. Linux下重启mysql数据库的方法

    原文地址:Linux下重启mysql数据库的方法作者:于士博的视频教程 方法一: 命令: [root@localhost /]# /etc/init.d/mysql   start|stop|rest ...

  7. linux下搭建mysql数据库

    linux下搭建mysql数据库 1.下载mysql: http://dev.mysql.com/downloads/mysql/5.6.html#downloads wget http://dev. ...

  8. linux下对应mysql数据库的常用操作

    ssh管理工具连接mysql数据库. 一.连接mysql数据库: 通过shh管理工具,登录linux的用户名,密码,进入ssh的命令行界面后,执行如下命令: mysql -u 数据库用户名 -p 然后 ...

  9. MySQL数据库的自动备份与数据库被破坏后的恢复1

    一.前言: 当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小. ...

随机推荐

  1. js原生实现三级联动下拉菜单

    js代码: <!doctype html> <html> <head> <meta charset="utf-8"> <tit ...

  2. JS - Object.create(prototype)方法

    用Object.create(prototype)方法创建一个对象,这个对象的原型将指向这个传入的prototype参数

  3. centos下 将(jgp、png)图片转换成webp格式

    由于项目要求需要将jpg.png类型的图片  转换成webp格式,最开始使用了php gd类库里 imagewebp 方法实现,结果发现转换成的webp格式文件会偶尔出现空白内容的情况.像创建了一个透 ...

  4. c++运算符重载和虚函数

    运算符重载与虚函数 单目运算符 接下来都以AClass作为一个类例子介绍 AClass{ int var } 区分后置++与前置++ AClass operator ++ () ++前置 一般设计为返 ...

  5. php与js的crc32(支持中文)

    代码: <?php function myCrc32($string, $crc = 0) { $table = "00000000 77073096 EE0E612C 990951B ...

  6. Spark架构与作业执行流程简介(scala版)

    在讲spark之前,不得不详细介绍一下RDD(Resilient Distributed Dataset),打开RDD的源码,一开始的介绍如此: 字面意思就是弹性分布式数据集,是spark中最基本的数 ...

  7. Django2.2使用mysql数据库pymysql版本不匹配问题的解决过程与总结

    前置条件 django版本:2.2.1 python版本:3.6.6 mysql版本:mysql-community8.0.15 问题 在搭建django项目,配置mysql数据库时遇到无法迁移数据库 ...

  8. Essential C++ 3.1 节的代码练习——指针方式

    // // PointerToValue.cpp // Working // // Created by Hawkins, Dakota Y on 6/3/16. // Copyright 2016 ...

  9. UVA - 753 A Plug for UNIX(网络流)

    题意 给定一些插头设备和插座,有一些方法可以把其中一些插头变成另一种插头.求无法匹配插座的插头设备个数. 题解 用\(map\)给每个字符串标号为\(a_i\)和\(b_i\). 读入每种改变插头的方 ...

  10. Centos7和Centos6防火墙开放端口配置方法(避坑教学)

    ▲这篇文章主要为大家详细介绍了Centos7防火墙开放端口的快速方法,感兴趣的小伙伴们可以参考一下! 一.CentOS 7快速开放端口: CentOS升级到7之后,发现无法使用iptables控制Li ...