前言:

数据库的主要作用就是对数据进行保存和维护,所以备份数据是数据库管理中最常用的操作。为了防止数据库意外崩溃或硬件损伤而导致的数据丢失,
数据库系统提供了备份和恢复策略。

保证数据安全的最重要的一个措施就是定期的对数据库进行备份。这样即使发生了意外,也会把损失降到最低。

# 数据库备份分为物理备份和逻辑备份 #物理备份
  物理备份是为了备份属于数据库的所有物理文件而复制的(如数据文件,控制文件,日志文件,可执行文件等).
  操作系统将数据库文件保存到磁带或其他介质上.这对于在需要时将系统重新安装到较早的点是有用的.
  物理文件(例如文本文件)作为单个文档存储在硬盘驱动器上.虽然数据库由许多复杂元素组成,但这些元素通常会聚合到服务器硬盘上的简单文件中.
这些文件可以像系统上的任何其他文件一样轻松备份. #逻辑备份
  在逻辑备份中,您不会获取任何物理内容的副本,您只需将数据从数据文件中提取到转储文件中.(例如:使用导出)
  在逻辑备份技术中,IMPORT / EXPORT实用程序用于创建数据库的备份.逻辑备份备份数据库的内容.可以使用逻辑备份将数据库还原到上次备份.
但是,与物理支持不同,它不应该用于创建操作系统备份副本,因为使用此方法进行恢复可以纠正损坏的数据文件.因此,在这些情况下,应首选物理备份.
  逻辑数据库备份对于特定组件的粒度恢复至关重要.物理备份对于完整的灾难恢复方案非常有用.逻辑和物理数据库备份之间的选择应作为恢复点
目标的一部分.

mariadb 版本:

[root@localhost mysql]# mariadb -V
mariadb Ver 15.1 Distrib 10.4.13-MariaDB, for Linux (x86_64) using readline 5.1

物理备份

查看数据库文件的路径

MariaDB [(none)]> show global variables like '%datadir%';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| datadir | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.001 sec)

# 在这里每一个数据库都会创建以数据库名为文件夹的目录
# 每一个表都会在该目录下根据不同的数据库引擎类型创建不同的存储文件

将该目录下的文件备份,解压到相应文件夹下面

[root@localhost mysql]# tar -cvf /home/webroot/iasm.tar /var/lib/mysql/iasm
[root@localhost webroot]# tar -xvf iasm.tar

逻辑备份

#本节主要介绍如何使用 mysqldump 命令备份数据库。mysqldump 命令执行时,可以将数据库中的数据备份成一个文本文件。数据表的结构和数据将存储在生成的文本文件中。
#使用 mysqldump 命令备份一个数据库的语法格式如下:
mysqldump -u username -p dbname [tbname ...]> filename.sql
#对上述语法参数说明如下:
username:表示用户名称;
dbname:表示需要备份的数据库名称;
tbname:表示数据库中需要备份的数据表,可以指定多个数据表。省略该参数时,会备份整个数据库;
右箭头“>”:用来告诉 mysqldump 将备份数据表的定义和数据写入备份文件;
filename.sql:表示备份文件的名称,文件名前面可以加绝对路径。通常将数据库备份成一个后缀名为.sql的文件。 # 注意:mysqldump 命令备份的文件并非一定要求后缀名为.sql,备份成其他格式的文件也是可以的。例如,后缀名为.txt的文件。通常情况下,建议备份成后缀名为.sql 的文件。
因为,后缀名为.sql的文件给人第一感觉就是与数据库有关的文件。 # 简单的导入导出
导出:mysqldump -uroot -p123456 zabbix>/opt/zabbix.sql;
导入:mysql -uroot -p123456 zabbix </opt/zabbix.sql; # 备份多个数据库
如果要使用 mysqldump 命令备份多个数据库,需要使用 --databases 参数。备份多个数据库的语法格式如下: mysqldump -u username -P --databases dbname1 dbname2 ... > filename.sql
加上“--databases”参数后,必须指定至少一个数据库名称,多个数据库名称之间用空格隔开。 #备份所有数据库
mysqldump 命令备份所有数据库的语法格式如下: mysqldump -u username -P --all-databases>filename.sql
使用“--all-databases”参数时,不需要指定数据库名称。

mariadbl数据库环境迁移的更多相关文章

  1. 将数据从MySQL迁移到Oracle的注意事项

    将数据从MySQL迁移到Oracle的注意事项1.自动增长的数据类型处理MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值.ORACLE没有自动增长的数据类型,需要建立一个自动 ...

  2. RMAN数据库异机迁移步骤

    --RMAN数据库异机迁移步骤----------------------------2013/09/28 测试环境:AIX+ora11g   一. source数据库准备.   1.获取数据文件编号 ...

  3. sql查看数据库环境及一些参数

    sql查看数据库环境及一些参数 select parent_obj from sysobjects where name='FK_Student_banjiID' --根据外键名得到外表id sele ...

  4. 基于本地存储的kvm虚拟机在线迁移

    基于本地存储的kvm虚拟机在线迁移 kvm虚拟机迁移分为4种(1)热迁移基于共享存储(2)热迁移基于本地存储(3)冷迁移基于共享存储(4)冷迁移基于本地存储 这里介绍的是基于本地存储的热迁移 动态块迁 ...

  5. 【SQLServer】记一次数据迁移-标识重复的简单处理

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 今天在数据迁移的时候因为手贱遇到一个坑爹问题,发来大家乐乐,也传授新手点经验 迁移惯用就 ...

  6. MVC5+EF6+MYSQl,使用codeFirst的数据迁移

    之前本人在用MVC4+EF5+MYSQL搭建自己的博客.地址:www.seesharply.com;遇到一个问题,就是采用ef的codefirst模式来编写程序,我们一般会在程序开发初期直接在glob ...

  7. 烂泥:wiki系统confluence5.6.6安装、中文、破解及迁移

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb confluence是一个专业的企业知识管理与协同软件,可以用于构建企业wiki.通过它 ...

  8. ASP.NET Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub)

    主要更新: 1:增加子目录部署支持. 2:增加Taurus.MVC支持. 3:优化及Bug修复. 1:增加子目录部署支持: 其实在重写Aries框架的时候,我是去掉了目录部署功能的,主要是为了加快Ar ...

  9. 我将系统从Windows迁移至Linux下的点点滴滴

    一.写在最前 由于本人的技术水平有限,难免会出现错误.本文对任何一个人有帮助都是我莫大的荣幸,任何一个大神对我的点拨,我都会感激不尽. 二.技术选型 在2013年8月低的时候,公司中了XXX市场监督局 ...

  10. 如何利用mono把.net windows service程序迁移到linux上

    How to migrate a .NET Windows Service application to Linux using mono? 写在最前:之所以用要把windows程序迁移到Linux上 ...

随机推荐

  1. Xilinux PS与PL交互::Linux-App读写REG

    Xilinux PS与PL交互::Linux-App读写REG 背景 PL配置好有关的硬件,PS端做验证. 设计方案:针对REG地址,不使用设备树配置. 遇到的问题:暂无. 验证目的 验证PL-PS的 ...

  2. Freertos学习:07-队列

    --- title: rtos-freertos-07-队列 EntryName : rtos-freertos-07 date: 2020-06-23 09:43:28 categories: ta ...

  3. Taro自定义分享,canvas生成图片模糊有锯齿

    原因: 在移动端,手机的dpi是实际设计稿尺寸的2倍 设计稿尺寸: 210*168 canvas尺寸: 420 * 336 Taro.canvasToTempFilePath: width: 420, ...

  4. Vue2 整理(二):核心篇(组件化开发)

    前言 上一篇连接:vue2 整理:基础篇. 组件化开发 组件概念 组件,对于学Java的人来说的话,这个词所要表达的意思再熟悉不过了. 所谓组件就是:面向对象中的抽象.封装思想:而所谓的组件化就是:把 ...

  5. Quartus Ⅱ调用FIFO IP核方法实现求和(Mega Wizard)

    摘要:本次实验学习记录主题为"FIFO_IP核实现算术求和",主要内容是上位机通过串口向FPGA发送一定规格的数字矩阵,FPGA对矩阵处理,按规定逻辑实现求和运算,将结果返回串口转 ...

  6. 日常工作中需要避免的9个React坏习惯

    前言 React是前端开发领域中最受欢迎的JavaScript库之一,但有时候在编写React应用程序时,可能陷入一些不佳的习惯和错误做法.这些不佳的习惯可能导致性能下降.代码难以维护,以及其他问题. ...

  7. Vue 数组和对象更新,但视图未更新,背后的故事

    在实际开发中,遇到遍历数组和对象,当property 发生改变时,并没有触发视图的更新今天来浅显的聊聊这背后的故事,有说的不对地方,还望指出! 本人博文地址:https://www.cnblogs.c ...

  8. Day 10 - 动态规划与树状数组

    动态规划基础 主要介绍动态规划的基本思想,以及动态规划中状态及状态转移方程的设计思路,帮助各位初学者对动态规划有一个初步的了解. 引入 [IOI1994] 数字三角形. 给定一个 \(r\) 行的数字 ...

  9. WordPress基础之菜单导航栏设置

    菜单是WordPress的一项重要功能,方便用户快速打开网站页面,我们通常说的网站导航栏就是菜单.菜单通常显示在网站的顶部或者底部,以Apple官网的为例: 这篇文章我们就学习下:如何添加.删除菜单: ...

  10. 单细胞转录组上游fasta文件处理

    单细胞分析上游fasta文件处理 --基于cellranger与dropseqRunner ###如果测序文件由10X genomics平台产生,则采用cellranger count的基本流程进行f ...