近来项目的业务量开始大了,感觉如果数据不周期性地备份一下,很可能会出现问题,虽然我每天都有阿里云的自动快照,上网找了一下方法,找到两种相对简单而又适合中小项目或者中小公司的数据备份策略,以下都是数据库数据的完全备份。

  一.cp命令备份mysql数据

  此方法简单粗暴,直接复制mysql下的数据,也印证了linux下的万物皆是文件的原则,管你是啥,直接复制过来,出问题直接cp过去就好了,数据库的数据是存储在mysql目录下的data,里面有对应的数据库名字的文件夹,比如说我有个test数据库,那么在mysql/data下就有test文件夹,里面存放的是test数据库的数据。

  具体步骤:

  1.找到mysql的目录,一般而言是在/var/lib/mysql,如果找不到mysql目录,你可以用locate命令查找一下

  2.cp -a 复制mysql目录下的data文件,如果你想存放对应数据库的文件,直接cp对应的文件夹就好了

  3.在你需要还原数据的时候,把文件复制到原来的目录就好了,即cp -a  备份目录  mysql/data/就可以了,注意:如果还原之后不能操作数据库,有可能是权限问题。执行chown  -R mysql:mysql  数据库文件  就好了。

  方法分析:

  优点:执行速度快,导入sql的时候,执行了10多秒,但是cp只需要1秒左右,相对其他方法的一条条sql执行,这个方法更显得简单粗暴

  缺点:同样的备份文件,直接cp出来数据相对sql文件会比较大,而且很可能移植到其他的服务器上,不识别某些表。

  二.mysqldump

  mysqldump是mysql自带的工具,可以把数据库,表的数据导出来,导出来的是sql文件。

  命令格式:

mysqldump  -uName  -pPassword  databaseName  tableName  >  name.sql;

  如果不指定tableName,则是指导出数据库全部数据。

  也可以选择导出全部数据

mysqldump  -uName  -pPassword  mysql --all-databases tableName  >  name.sql;

  当然你也可以结合crontab创建定时任务,每日定时备份数据库

  首先写个shell脚本,这里我用时间作为保存文件的名字

#!/bin/bash
time=$(date +%Y-%m-%d-%H-%M-%S)
mysqldump -uroot -ppassword test> /backup/$time.sql

  保存之后chmod赋予权限之后就可以./脚本名字就可以一键备份数据库文件了

  再输入crontab -e里面添加任务就行了。

两种适用于中小量数据的mysql数据备份的更多相关文章

  1. 10.Solr4.10.3数据导入(DIH全量增量同步Mysql数据)

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.创建MySQL数据 create database solr; use solr; DROP TABLE ...

  2. RNA seq 两种计算基因表达量方法

    两种RNA seq的基因表达量计算方法: 1. RPKM:http://www.plob.org/2011/10/24/294.html 2. RSEM:这个是TCGAdata中使用的.RSEM据说比 ...

  3. highcharts.js两种数据绑定方式和异步加载数据的使用

    一,我们先来看看异步加载数据的写法(这是使用MVC的例子) 1>js写法 <script src="~/Scripts/jquery-2.1.4.min.js"> ...

  4. Asp.Net 中Grid详解两种方法使用LigerUI加载数据库数据填充数据分页

    1.关于LigerUI: LigerUI 是基于jQuery 的UI框架,其核心设计目标是快速开发.使用简单.功能强大.轻量级.易扩展.简单而又强大,致力于快速打造Web前端界面解决方案,可以应用于. ...

  5. koa2实现session的两种方式(基于Redis 和MySQL)

    一.基于MySQL的实现方式 这种方式需要安装koa-session-minimal和koa-mysql-session两个依赖. 执行 npm install koa-session-minimal ...

  6. Spark Streaming连接Kafka的两种方式 direct 跟receiver 方式接收数据的区别

    Receiver是使用Kafka的高层次Consumer API来实现的. Receiver从Kafka中获取的数据都是存储在Spark Executor的内存中的,然后Spark Streaming ...

  7. spark2.2jdbc写入mysql 的两种方法(append,Overriedwrite)-不用Mysql建表

    import org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.sql.{SQLContext, SaveMode} ...

  8. 两种常用的启动和关闭MySQL服务

    本博文的主要内容有 .通过图形界面来启动和关闭MySQL服务 .通过DOS窗口来启动和关闭MySQL服务 1.通过图形界面来启动和关闭MySQL服务 2.通过DOS窗口来启动和关闭MySQL服务 感谢 ...

  9. 定义一个Map集合,key和value不规定类型,任意放入数据,用keySet()和 entrySet()两种方式遍历出Map集合的数据

    package com.lanxi.demo1_1_1; import java.util.HashMap; import java.util.Iterator; import java.util.M ...

随机推荐

  1. SQL SERVER 竖表变成横表

    现有数据如下: Sql: select a.MODELID, max( case a.PNAME when'计划开始' then a.PVALUE end) as RStart, max( case ...

  2. 初识ASP.NET MVC

    我们首先从创建ASP.NET MVC项目开始.打开Visual Studio,在文件菜单中选择新建-> 项目,然后在模板中选择Web,接着选择ASP.Net Web应用程序,更改项目名称,点击确 ...

  3. 如何在SpringBoot中使用JSP ?但强烈不推荐,果断改Themeleaf吧

    做WEB项目,一定都用过JSP这个大牌.Spring MVC里面也可以很方便的将JSP与一个View关联起来,使用还是非常方便的.当你从一个传统的Spring MVC项目转入一个Spring Boot ...

  4. 来玩Play框架06 用户验证

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 用户验证(User Authentification)复合的使用Play框架的数个 ...

  5. hibernate -- HQL语句总结

    1. 查询整个映射对象所有字段 //直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段 String hql = "from Users"; Query query ...

  6. 【重大更新】开源跨平台物联网通讯框架ServerSuperIO 2.0(SSIO)下载

    更新具体细节参见:[更新设计]跨平台物联网通讯框架ServerSuperIO 2.0 ,功能.BUG.细节说明,以及升级思考过程! 声明:公司在建设工业大数据平台,SSIO正好能派上用场,所以抓紧时间 ...

  7. Hibernate-模板模式

    在我的博客<Hibernate总结(一)>在对数据库的增删改查前后重复的使用了得到Session与关闭Session等操作,因此我想到了模板设计模式. 模板设计模式概述: 定义一个操作中的 ...

  8. ATM-PROGRAM 关于Proprties的问题

    public static void turnMoney(String ToAccNo, int money){ d = new Date(); dateStr = noteDate.format(d ...

  9. storm0.9.5集群安装

    安装前的准备工作 关闭防火墙 chkconfig iptables off && setenforce 0 创建用户 groupadd realtime && user ...

  10. 用Kotlin语言重新编写Plaid APP:经验教训(II)

    原文标题:Converting Plaid to Kotlin: Lessons learned (Part 2) 原文链接:http://antonioleiva.com/plaid-kotlin- ...