当前位置: 首页 > news >正文

如何备份MySQL数据库

  在MySQL中进行数据备份的方法有两种:

  1. mysqlhotcopy

  这个命令会在拷贝文件之前会把表锁住,并把数据同步到数据文件中,以避免拷贝到不完整的数据文件,是最安全快捷的备份方法。

  命令的使用方法是:

  mysqlhotcopy -u root -pdb1 db2 … dbn

  如果需要备份全部数据库,可以加上–regexp=”.*”参数。

  Mysqlhotcopy命令可自动完成数据锁定工作,备份时不用关闭服务器。它还可以刷新日志,使备份文件和日志文件的检查点能保持同步。

  2. mysqldump

  这个命令是用来把数据库倒成sql文件的,是非常古老的命令了。

  命令的使用方法是:

  mysqldump -u root -p–hex-blob db1 db1.sql

  加上–hex-blob参数以后,blob数据会被类似BASE64的方法转换为文本来存储在sql文件中,就不会导致sql文件格式问题了。经过测试,通过这种方法备份的blob数据再重新恢复回去能够完全正确。

  如果要备份所有的数据库,可以加上–all-databases参数。

  用mysqldump命令还可直接把数据库转移到另外一台服务器上,不用生成备份文件。重复执行可定期更新远程数据库。

  % mysqladmin -h remote_host create testdb

  % mysqldump –opt testdb | mysql -h remote_host testdb

  另外还可通过ssh远程调用服务器上的程序,如:

  % ssh remote_host mysqladmin create testdb

  % mysqldump –opt testdb | ssh remote_host mysql testdb

  2种数据库备份方式的优缺点:

  使用mysqlhotcopy等程序备份速度快,因为它直接对系统文件进行操作,但是需人为协调数据库数据的备份前后一致性。

  mysqldump程序备份数据库较慢,但它生成的文本文件便于移植。

  对于没有使用InnoDB的数据库,用mysqlhotcopy是最好的方法;否则必须采用mysqldump。不论如何,直接拷贝文件的备份方法应该被废弃了。


转载于:https://juejin.im/post/5cb431796fb9a068a41182d7

相关文章:

  • 开拓者软件开发团队
  • zabbix3.2监控linux磁盘IO
  • python 笔记 之 random 随机模块
  • 2019哪些是更靠谱的创业赛事活动平台?
  • javascript变量作用域
  • eclipse no java machine vitual was found
  • centos7.5
  • boost_tutorial
  • 快速搭建个人博客
  • 一文读懂ML中的解析解与数值解
  • java B2B2C Springcloud电子商务平台源码 -Feign之源码解析
  • 转: Genymotion使用及离线镜像的安装
  • 全面解析JavaScript的对象创建和继承
  • 数据库出现锁表情况
  • 正式推出市场的前兆?波士顿动力机器狗上演「徒手」拉卡车
  • C语言笔记(第一章:C语言编程)
  • JavaScript 一些 DOM 的知识点
  • jquery cookie
  • PhantomJS 安装
  • Sass 快速入门教程
  • scala基础语法(二)
  • Transformer-XL: Unleashing the Potential of Attention Models
  • 技术发展面试
  • 简单实现一个textarea自适应高度
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 如何实现 font-size 的响应式
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 新版博客前端前瞻
  • NLPIR智能语义技术让大数据挖掘更简单
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • (4)logging(日志模块)
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (分布式缓存)Redis持久化
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (五)Python 垃圾回收机制
  • (一)Thymeleaf用法——Thymeleaf简介
  • (一)基于IDEA的JAVA基础1
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .NET BackgroundWorker
  • .NET 回调、接口回调、 委托
  • .NET 命令行参数包含应用程序路径吗?
  • .NET企业级应用架构设计系列之技术选型
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • @TableLogic注解说明,以及对增删改查的影响
  • [].shift.call( arguments ) 和 [].slice.call( arguments )
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [ActionScript][AS3]小小笔记
  • [CareerCup] 2.1 Remove Duplicates from Unsorted List 移除无序链表中的重复项
  • [CTO札记]如何测试用户接受度?
  • [ESP32 IDF]web server
  • [Godot] 3D拾取
  • [json]定义、读写
  • [python 邮件处理]