一、数据备份

1、使用mysqldump命令备份

mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。

mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。

1、备份一个数据库

mysqldump基本语法:

mysqldump -u username -p dbname table1 table2 ...-> BackupName.sql

其中:

dbname参数表示数据库的名称;

table1和table2参数表示需要备份的表的名称,为空则整个数据库备份;

BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库被分成一个后缀名为sql的文件;

使用root用户备份test数据库下的person表

mysqldump -u root -p test person > D:\backup.sql

其生成的脚本如下:

文件的开头会记录MySQL的版本、备份的主机名和数据库名。

文件中以“--”开头的都是SQL语言的注释,以"/*!40101"等形式开头的是与MySQL有关的注释。40101是MySQL数据库的版本号,如果MySQL的版本比1.11高,则/*!40101和*/之间的内容就被当做SQL命令来执行,如果比4.1.1低就会被当做注释。

2、备份多个数据库

语法:

mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql

加上了--databases选项,然后后面跟多个数据库

mysqldump -u root -p --databases test mysql > D:\backup.sql

3、备份所有数据库

mysqldump命令备份所有数据库的语法如下:

mysqldump -u username -p -all-databases > BackupName.sql

示例:

mysqldump -u -root -p -all-databases > D:\all.sql

2、直接复制整个数据库目录

MySQL有一种非常简单的备份方法,就是将MySQL中的数据库文件直接复制出来。这是最简单,速度最快的方法。

不过在此之前,要先将服务器停止,这样才可以保证在复制期间数据库的数据不会发生变化。如果在复制数据库的过程中还有数据写入,就会造成数据不一致。这种情况在开发环境可以,但是在生产环境中很难允许备份服务器。

注意:这种方法不适用于InnoDB存储引擎的表,而对于MyISAM存储引擎的表很方便。同时,还原时MySQL的版本最好相同。

3、使用mysqlhotcopy工具快速备份

一看名字就知道是热备份。因此,mysqlhotcopy支持不停止MySQL服务器备份。而且,mysqlhotcopy的备份方式比mysqldump快。mysqlhotcopy是一个perl脚本,主要在Linux系统下使用。其使用LOCK TABLES、FLUSH TABLES和cp来进行快速备份。

原理:先将需要备份的数据库加上一个读锁,然后用FLUSH TABLES将内存中的数据写回到硬盘上的数据库,最后,把需要备份的数据库文件复制到目标目录。

命令格式如下:

[root@localhost ~]# mysqlhotcopy [option] dbname1 dbname2 backupDir/

dbname:数据库名称;

backupDir:备份到哪个文件夹下;

常用选项:

--help:查看mysqlhotcopy帮助;

--allowold:如果备份目录下存在相同的备份文件,将旧的备份文件加上_old;

--keepold:如果备份目录下存在相同的备份文件,不删除旧的备份文件,而是将旧的文件更名;

--flushlog:本次辈分之后,将对数据库的更新记录到日志中;

--noindices:只备份数据文件,不备份索引文件;

--user=用户名:用来指定用户名,可以用-u代替;

--password=密码:用来指定密码,可以用-p代替。使用-p时,密码与-p之间没有空格;

--port=端口号:用来指定访问端口,可以用-P代替;

--socket=socket文件:用来指定socket文件,可以用-S代替;

mysqlhotcopy并非mysql自带,需要安装Perl的数据库接口包;下载地址为:http://dev.mysql.com/downloads/dbi.html

目前,该工具也仅仅能够备份MyISAM类型的表。

二、数据还原

1、还原使用mysqldump命令备份的数据库的语法如下:

mysql -u root -p [dbname] < backup.sq

示例:

mysql -u root -p < C:\backup.sql

可备份数据

mysql -u root -p > C:\backup.sql

2、还原直接复制目录的备份

通过这种方式还原时,必须保证两个MySQL数据库的版本号是相同的。MyISAM类型的表有效,对于InnoDB类型的表不可用,InnoDB表的表空间不能直接复制。

mysql容灾方案_mysql 容灾 灾备 备份相关推荐

  1. mysql高可用方案_MySQL高可用集群方案

    一.Mysql高可用解决方案 方案一:共享存储 一般共享存储采用比较多的是 SAN/NAS 方案. 方案二:操作系统实时数据块复制 这个方案的典型场景是 DRBD,DRBD架构(MySQL+DRBD+ ...

  2. mysql容灾方案_mysql 架构 ~异地容灾

    一 简介 我们来探讨下多机房下的mysql架构 二 目的: 首先要清楚你的目的 1 实现异地机房的容灾备份 2 实现异地机房的双活 三 叙说 1 实现异地机房的容灾备份 目的 只是将数据备份到异地,当 ...

  3. mysql产品优化方案_mysql的优化方案

    简介 在本文中,主要写一下自己所查阅和理解的mysql优化方案. 我的理解是数据库的优化对于我们'非专业'人员,mysql的优化也没那么复杂了,真的要玩转mysql的话,肯定得需要很多年的经验了. 参 ...

  4. mysql数据库优化方案_mysql数据库优化方案

    1.活动/峰值连接数 (图1)中当前活动的连接为1个,自MySQL服务启动以来,最高连接数为54:当最高连接数接近或等于(图2)中的max_connections时,应适当增加max_connecti ...

  5. mysql xa测试方案_mysql xa导致的事务一直running问题

    背景描述 使用xa进行测试时,对mysql进行了一些xa各阶段锁定试验,后来出现卡死情况就杀掉了线程,重启了mysql服务.重启后发现插入.修改数据都正常,但无法修改表结构,修改表结构就处于卡死状态, ...

  6. mysql字符集设置方案_MySQL的字符集配置

    utf8的锅: 场景 : 之前在给客户做微商城时,需要保存微信的授权信息,此时就有一个nickname字段,在设计数据表时,潜意识的将表的存储格式设置为utf8,生产上线一段时间后偶尔出现保存异常.经 ...

  7. mysql数据库迁移方案_MySQL迁移升级解决方案

    原标题:MySQL迁移升级解决方案 任务背景 由于现有业务架构已不能满足当前业务需求,在保证数据完整的前提下,现需要将原有数据库迁移到另外一台单独的服务器上,在保证原有服务正常的情况下,将原有LAMP ...

  8. mysql数据库巡检方案_Mysql数据库巡检

    DBA需要经常的对数据库进行一些检查,如数据库磁盘的占用量,缓存的命中率,内存的分配等,目的为简化频繁输入这些繁琐的命令. #!/bin/bash ########################## ...

  9. mysql emojo 其他方案_MySQL数据库存储昵称带有emoji处理方案

    有关微信公众号的开发,系统需要存储用户的openId和昵称等基本信息.然而很多新潮儿,微信昵称会选择使用各种emoji表情,如果当初设计表结构的时候就没考虑这个问题,就会出现存储不了的问题. 修改my ...

  10. mysql 备份文件太大_mysql数据库太大了怎么备份

    本地: 1.进入MySQL目录下的bin文件夹:e:回车:e:\>cd mysql\bin 回车2.导出数据库:mysqldump -u?用户名 -p 数据库名 > 导出的文件名范例:my ...

最新文章

  1. ICH10R服务器主板是什么芯片,Intel ICH10R 芯片组 RAID配置
  2. leetcode-49-字母异位词分组
  3. yarn、npm、cnpm三者区别
  4. java.util接口_Java 8中java.util.function包中的谓词和使用者接口
  5. 三年经验java工资,含爱奇艺,小米,腾讯,阿里
  6. mysql linux32_Linux 配置 mysql 5.7.32 实操记录
  7. Nature重磅综述|关于RNA-seq,你想知道的都在这(续)
  8. Java第二次作业第一题
  9. 3011-基于二叉树的表达式求值(C++,附详细思路)
  10. window创建计划自动启动服务器,WINDOWS2008计划任务无法启动
  11. 计算机协议-http
  12. 看了B站上的这些Java视频,我飘了!
  13. java生成二维码(底部添加文字+linux安装微软雅黑)
  14. 性能测试 查看Android APP 帧数FPS的方法(转)
  15. 联通沃云开启80端口
  16. java缺陷管理系统_简述:一款优秀的缺陷管理系统有哪些功能特点!
  17. spring-cloud-gateway GlobalFilter 自定义鉴权失败 返回数据结构
  18. R语言ggplot2可视化:使用geom_step可视化阶梯图、阶梯线图、可视化分组阶梯线图、自定义填充不同分组的阶梯线图(filled geom_step)
  19. 51单片机数码管滚动显示学号_数协微课 | LED数码管与51单片机应用
  20. 企业级网络架构: 综合项目和网络升级(NETWORK05----DAY26)

热门文章

  1. html 图片左中右排列,详解css布局实现左中右布局的5种方式
  2. PR值与网站权重的关系
  3. Linux——根目录结构
  4. 可水解盐类pH值的计算
  5. wpf 监听退出事件_如何监听WPF的WebBrowser控件弹出新窗口的事件
  6. SpringCloud版本Hoxton SR5 --- 第五讲:zuul 路由、过滤、容错与回退、集群、高可用
  7. Cloud Native 演进可行性研究
  8. 151只宝可梦(神奇宝贝)倒背的我,却连元素周期表都背不过 -- Python 爬虫小课 3-9
  9. HTML5个人简历模板制作
  10. 2019年日历假期添加