iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql常用的备份命令与备份策略
  • 934
分享到

mysql常用的备份命令与备份策略

2024-04-02 19:04:59 934人浏览 安东尼
摘要

Mysql常用的备份命令mysqldump备份常用方法: 1.导出一个数据库    mysqldump -u用户名 -p密码 数据库名 > 导出的文件名  &n

Mysql常用的备份命令

mysqldump备份常用方法:
 1.导出一个数据库
    mysqldump -u用户名 -p密码 数据库名 > 导出的文件名
    例如
     # mysqldump -hhostname -uroot -ppwd dataname >dataname.sql 

  2.备份服务器上所有数据库
   例如
      # mysqldump --all-databases > allbackupfile.sql
  3.备份一个表
  mysqldump -u用户名 -p密码 数据库名 表名> 导出的文件名
    例如:
 # mysqldump -hhostname -uroot -ppwd dataname specific_tabname1 specific_tabname2> dataname_specific_tabname.sql
 4.导出一个数据库结构
    例如
   # mysqldump -hhostname -uroot -ppwd  -–add-drop-table --no-data dataname > dataname_nodata.sql

  --no-data:没有数据
    –-add-drop-table 在每个create语句之前增加一个drop table命令

  5.直接将MySQL数据库压缩备份
    例如
  # mysqldump -hhostname -uusername -ppassWord databasename | gzip > backupfile.sql.gz

  6.同时备份多个MySQL数据库
  例如
   mysqldump -hhostname -uusername -ppwd --databases dbname1 dbname2 dbname3 > multibackupfile.sql

  7.对于支持事务级的存储引擎,为了保证数据一致性可以采用选项“--single-transaction”
    例如
 
 # mysqldump -hlocalhost -uroot -p backup --single-transaction > /tmp/backup3.sql
 
  8.导出特定格式的纯文本文件(生成两个.sql和txt两个文件)
    例如:
 mysqldump -root -p -T /tmp dbname tablename --fields-enclosed-by=\" --fields-terminated-by=,
     
   --fields-enclosed-by:将字段的内容包装起来的符号
   --fields-terminated-by:两个字段的分隔符
  
  如果一次dump多个表的话,每个表都会有sql和txt两个文件;这种特定格式比较适合备份
 
  生成特定格式除了mysqldump外,还可以使用如下语句:
  > select ... into outfile from ...
  例如:
     mysql> select * into outfile '/tmp/t2.txt1'
    -> fields terminated by  ','           
    -> optionally enclosed by '"'  
    -> lines terminated by '\n'
    -> from t2 limit 10;                  

   optionally enclosed by:可以将字段的内容“包装”起来的,如果不使用“OPTIONALLY”则包括数字类型的所有类型数据都会被“包装”,使用“OPTIONALLY”之后,则数字类型的数据不会被指 定字符“包装”。
   lines terminated by:每条记录结束的时候需要添加什么字符 

  fields terminated by:设定每两个字段之间的分隔符   
           
mysqldump的逻辑备份恢复方法


   1.如果是insert的语句,直接运行该脚本即可
     方法一
  # mysql -hlocalhost -uroot -p backup < /tmp/t2.sql
  当还原表时,一定要指明把表还原到哪个数据库,这里是backup库
 
  方法二
  在mysql里用source运行脚本
  mysql> source /tmp/t2.sql
 
   2. 如果备份是以特殊分隔符分隔的纯数据文本文件
   方法一
   把/tmp/t2.txt还原到库backup
   # mysqlimport -uroot -p backup --fields-enclosed-by=\" --fields-terminated-by=, /tmp/t2.txt
 
    方法二
  mysql> load data infile '/tmp/t2.txt' into table t2 fields terminated by '"' enclosed by ','; 
 

mysqlhotcopy的备份方法
mysqlhotcopy 是一个用perl 编写的使用程序,其主要实现原理实际上就是通过先LOCK
住表,然后执行FLUSH TABLES 动作,该正常关闭的表正常关闭,将该fsync 的数据都fsync,
然后通过执行OS 级别的复制(cp 等)命令,将需要备份的表或者数据库的所有物理文件都
复制到指定的备份集位置。


mysqlhotcopy db_name[./table_regex/] [new_db_name | directory]

例如:


复制数据库
mysqlhotcopy  backup backup4

备份整库
mysqlhotcopy  backup /tmp/

备份库的部分表
mysqlhotcopy --allowold backup./t*/ /tmp/  
  
mysqlhotcopy的恢复方法
mysqlhotcopy 备份出来的是整个数据库目录,使用时可以直接拷贝到 mysqld 指定的 datadir目录下即可,
同时要注意权限的问题,(将 db_name 目录的属主改成 mysqld 运行用户)。此命令只能恢复数据库到最后
一次备份时的状态。

 
mysql的不同场景备份策略

备份策略一:

直接拷贝数据库文件(不推荐),也称为冷物理备份,即要停止mysql数据库,然后copy物理文件,
速度非常快,恢复也非常方便和快捷,直接把备份文件原样copy回来即可,但没有应用允许停库备份的。
这里不存在数据一致性的问题,库都停了,当然可以保证一致性了;如果不停库的话,那就要住所有
的表以保证数据的一致性
         FLUSH TABLES WITH READ LOCK;
   这个sql是把内存中的数据都刷新到磁盘中,同时锁定数据表,以保证拷贝过程中不会有新的数据写入。
   
    恢复:此方案的数据恢复也很简单,直接拷贝回原来的数据库目录下即可
   
备份策略二:

使用mysqlhotcopy备份数据库(完全备份,适合小型数据库备份),这种情况对于数据一致性要求非常严的
系统来对,就是一个无效的备份,因为没办法满足数据的一致完整性约束。它是备份数据库或单个表的最
快的途径,但它只能运行在数据库文件(包括数据表定义文件、数据文件、索引文件)所在的机器上,并
且mysqlhotcopy 只能用于备份 MyISAM表。
            
     恢复:此方案的数据恢复也很简单,直接拷贝回原来的数据库目录下即可
   
   

备份策略三:

使用mysqldump备份数据库(完全+增量备份,适合中型数据库备份),mysqldump 是采用SQL
级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL版本之间升级时相对
比较合适,这也是最常用的备份方法。mysqldump 比直接拷贝要慢些。对数据要求一致性非常严的
也很难保证,只能通过增量备份保证(适用任何引擎)

 

   恢复:此方案的恢复分为两步:


   1.先恢复完全备份文件,使用类似如下命令:
          mysql -hlocalhost -uroot -p backup < /tmp/t2.sql
    2.恢复增量备份文件,按logbin的时间先后顺序执行
        
        #  ls -tr1 HOSTNAME-bin* | xargs mysqlbinlog | mysql -uUser -pUserPWD

          
备份策略四:

使用主从复制机制(replication)(实现数据库实时备份,适合中大型数据库),为了不影响线上业务,
实现在线备份,并且能增量备份,最好的办法就是采用主从复制机制(replication),在 slave 机器
上做备份。



您可能感兴趣的文档:

--结束END--

本文标题: mysql常用的备份命令与备份策略

本文链接: https://www.lsjlt.com/news/44500.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql常用的备份命令与备份策略
    MySQL常用的备份命令mysqldump备份常用方法: 1.导出一个数据库    mysqldump -u用户名 -p密码 数据库名 > 导出的文件名  &n...
    99+
    2022-10-18
  • mysql备份策略的实现(全量备份+增量备份)
    目录设计场景技术点服务器信息准备工作编写全量备份脚本(Mysql-FullyBak.sh)编写增量备份脚本设置定时任务crontab恢复操作最近项目需要对数据库数据进行备份,通过查阅各种资料,设计了一套数据库备份策略...
    99+
    2022-05-21
    mysql备份策略 mysql 全量备份 mysql 增量备份
  • mysql常用备份命令和shell备份脚本分享
    备份多个数据库可以使用如下命令: mysqldump -uroot -p123456 --databases test1 test2 test3 > /home/test/dump.sql; 恢复备份: ...
    99+
    2022-06-01
    MySQL 备份命令 MySQL 备份 MySQL shell备份脚本
  • MySQL选择合适的备份策略和备份工具
    目录一、多地部署二、备份的常见分类1、物理备份 VS 逻辑备份1)物理备份2)逻辑备份2、离线备份 VS 在线备份3、全量备份 VS 增量备份三、MySQL中的备份工具1、物理备份2...
    99+
    2022-11-13
  • mysql如何实现备份策略
    这篇文章将为大家详细讲解有关mysql如何实现备份策略,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。设计场景1)增量备份在周一到周六凌晨3点,复制mysql-bin.00000*到指定目录; 2)全量备份...
    99+
    2023-06-20
  • mysql备份恢复策略有哪些
    小编给大家分享一下mysql备份恢复策略有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、确定要备份的表的存储引擎是事务型还是非事务型,两种不同的存储引擎备...
    99+
    2023-06-15
  • MySQL中如何选择合适的备份策略和备份工具
    ​数据库备份的重要性毋庸置疑,可以说,它是数据安全的最后一道防线。鉴于此,对于备份,我们通常会做以下要求: 多地部署 对于核心数据库,我们通常有两地三中心的部署要求。对于备份来说,也是如此。 一个备份应该有多个副本,每个副本存储在不同...
    99+
    2020-06-26
    MySQL中如何选择合适的备份策略和备份工具
  • MySQL数据库的一些常用备份命令
    本文主要给大家介绍MySQL数据库的一些常用备份命令,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL数据库的一些常用备份命令吧。备份MySQ...
    99+
    2022-10-18
  • mysql备份和恢复的命令
    这篇文章主要讲解了“mysql备份和恢复的命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql备份和恢复的命令”吧! 在windows服务...
    99+
    2022-10-18
  • mysql数据库备份的命令
    这篇文章主要介绍“mysql数据库备份的命令”,在日常操作中,相信很多人在mysql数据库备份的命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql数据库备份的命令”...
    99+
    2022-10-18
  • Ubuntu Server服务器备份与还原备份命令怎么用
    这篇文章主要为大家展示了“Ubuntu Server服务器备份与还原备份命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ubuntu Server服务器备份与还原备份命令怎么用”这篇文章...
    99+
    2023-06-13
  • MySQL SSL 连接的备份和恢复策略
    MySQL是一个常用的关系型数据库管理系统,用于在各种应用程序中存储和管理数据。为了确保数据安全性,很多组织和企业都选择使用SSL(Secure Sockets Layer)协议来加密MySQL服务器与客户端之间的连接。SSL连接可以有效防...
    99+
    2023-10-22
    备份恢复 策略
  • SQL Server和MySQL的数据备份与恢复策略对比。
    SQL Server和MySQL是目前最常用的关系型数据库管理系统之一。在日常的数据库管理中,数据备份与恢复是非常重要的。本文将对SQL Server和MySQL的数据备份与恢复策略进行对比,并提供相应的代码示例。一、数据备份策略SQL S...
    99+
    2023-10-22
    数据恢复 数据备份 策略对比
  • PHP开发缓存的容灾与备份策略
    PHP开发缓存的容灾与备份策略,需要具体代码示例随着Web应用的不断发展,越来越多的应用程序开始采用缓存技术来提高应用程序的性能。而在缓存使用过程中,意外故障是难以避免的,因此必须要有容灾与备份策略来确保数据的安全性和可靠性。在本文中,我们...
    99+
    2023-11-07
    缓存 备份 容灾
  • MySQL数据库备份与灾备恢复策略的项目经验总结
    MySQL数据库备份与灾备恢复策略的项目经验总结引言:在现代企业中,数据库是不可或缺的关键资产。它存储和管理着大量的业务数据。而数据的安全性和可靠性是每个企业都十分关注的问题。为了保护这些重要数据,备份与灾备恢复策略成为数据库管理中非常重要...
    99+
    2023-11-02
    灾备恢复 MySQL备份 项目经验
  • mysql——数据库备份——使用mysqldump命令备份所有数据库
    mysqldump命令备份所有数据库; 语法格式:mysqldump -u username -ppassword --all-databases  > backupname.sql --all-databases:这个选项表示后面跟一...
    99+
    2023-10-09
    数据库 mysql java sql mybatis
  • MySQL备份命令mysqldump参数说明与示例
    1. 语法选项说明-h, --host=name主机名-P[ port_num], --port=port_num用于连接MySQL服务器的的TCP/IP端口号--master-data这个选项可以把bin...
    99+
    2022-10-18
  • MySQL使用mysqldump备份及mysql命令还原
    下文主要给大家带来MySQL使用mysqldump备份及mysql命令还原,希望这些内容能够带给大家实际用处,这也是我编辑MySQL使用mysqldump备份及mysql命令还原这篇文章的主要目的。好了,废...
    99+
    2022-10-18
  • MySQL mysqldump备份数据库命令行
    mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。 mysqldump...
    99+
    2022-10-18
  • mysql数据备份与恢复之mysqldump和source命令
    导入到数据库 use database source dbname.sql 导出数据 1 导出一个数据库的结构 mysqldump -d dbname -uroot -p > dbname.sql 2 导出多个数据库的结构 mysql...
    99+
    2019-06-22
    mysql数据备份与恢复之mysqldump和source命令
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作