精华内容
下载资源
问答
  • 备份对于数据库而言是至关重要的。当数据文件发生损坏、MySQL服务出现错误、系统内核崩溃、计算机硬件损坏...物理备份通过直接复制包含有数据库内容的目录与文件实现,这种备份方式适用于对重要的大规模数据进行备份...

    备份对于数据库而言是至关重要的。当数据文件发生损坏、MySQL服务出现错误、系统内核崩溃、计算机硬件损坏或者数据被误删等事件时,使用一种有效的数据备份方案,就可以快速解决以上所有的问题。MySQL提供了多种备份方案,包括:逻辑备份、物理备份、全备份以及增量备份,你可以选择最适合自己使用的方式备份数据。

    物理备份通过直接复制包含有数据库内容的目录与文件实现,这种备份方式适用于对重要的大规模数据进行备份,并且要求实现快速还原的生产环境。典型的物理备份就是复制 MySQL数据库的部分或全部目录,物理备份还可以备份相关的配置文件。但采用物理备份需要MySQL处于关闭状态或者对数据库进行锁操作,防止在备份的过程中改变发送数据。物理备份可以使用mysqlbackup对InnoDB数据进行备份,使用mysqlhotcopy对MyISAM数据进行备份。另外,也可以使用文件系统级别的cp、scp、tar、rsync等命令。

    逻辑备份通过保存代表数据库结构及数据内容的描述信息实现,如,保存创建数据结构以及添加数据内容的SQL语句,这种备份方式适用于少量数据的备份与还原。逻辑备份需要查询MySQL服务器获得数据结构及内容信息,因为需要查询数据库信息并将这些信息转换为逻辑格式,所以相对于物理备份而言比较慢。逻辑备份不会备份日志、配置文件等不属于数据库内容的资料。逻辑备份的优势在于不管是服务层面、数据库层面还是数据表层面的备份都可以实现,由于是以逻辑格式存储的,所以这种备份与系统、硬件无关。

    全备份将备份某一时刻所有的数据,增量备份仅备份某一段时间内发生过改变的数据。通过物理或逻辑备份工具就可以完成完全备份,而增量备份需要开启MySQL二进制日志,通过日志记录数据的改变,从而实现增量差异备份。

    下面将通过一些案例介绍如何使用MySQL提供的工具命令进行逻辑备份。使用 mysqldump 备份数据库,默认该工具会将SQL语句信息导出至标准输出,可以通过重定向将输出保存至文件:

    (1)备份所有的数据库

    mysqldump -u root -p --all-databases > bak.sql

    (2)备份指定的数据库db1、db2以及db3

    mysqldump -u root -p --databases db1 db2 db3 > bak.sql

    (3)备份db数据库,当仅备份一个数据库时,--databases可以省略

    mysqldump -u root -p db4 > bak.sql

    mysqldump -u root -p --databases db4 > bak.sql

    两者之间的差别在于不使用 --databases 选项,则备份输出信息中不会包含CREATE DATABASE或USE语句。不使用 --databases 选项备份的数据文件,在后期进行数据还原操作时,如果该数据库不存在,必须先创建该数据库。

    使用mysql命令读取备份文件,实现数据还原功能:

    mysql -u root -p < bak.sql

    mysql -u root -p db4 < bak.sq1

    案例:下面将 testDB 数据库中的内容导出成一个文件,并保存到 /home/目录下

    [root@192 home]# mysqldump -u root -p testDB > /home/bak.sql

    Enter password:

    然后进入MySQL数据库,彻底删除 testDB 数据库,然后重新创建 testDB 数据库

    mysql> select * fromtestDB.mybook;+--------+-------+-------+

    | name | price | pages |

    +--------+-------+-------+

    | Linux2 | 40 | 200 |

    | Linux4 | 60 | 400 |

    +--------+-------+-------+

    2 rows in set (0.00sec)

    mysql> drop databasetestDB;

    Query OK,1 row affected (0.00sec)

    mysql>show databases;+--------------------+

    | Database |

    +--------------------+

    | information_schema |

    | mysql |

    | performance_schema |

    | sys |

    +--------------------+

    4 rows in set (0.00sec)

    mysql> exit

    创建数据库

    mysql> create databasetestDB;

    Query OK,1 row affected (0.00sec)

    mysql> exitBye

    将备份的数据导入到刚新建的 testDB 数据库中

    [root@192 home]# mysql -u root -p testDB < /home/bak.sql

    Enter password:

    查看数据是否恢复成功

    [root@192 home]# mysql -u root -p

    Enter password:

    mysql> select * fromtestDB.mybook;+--------+-------+-------+

    | name | price | pages |

    +--------+-------+-------+

    | Linux2 | 40 | 200 |

    | Linux4 | 60 | 400 |

    +--------+-------+-------+

    2 rows in set (0.00 sec)

    展开全文
  • 备份对于数据库而言是至关重要的。当数据文件发生损坏、MySQL服务出现错误、系统内核崩溃、计算机硬件损坏...物理备份通过直接复制包含有数据库内容的目录与文件实现,这种备份方式适用于对重要的大规模数据进行备份...

    备份对于数据库而言是至关重要的。当数据文件发生损坏、MySQL服务出现错误、系统内核崩溃、计算机硬件损坏或者数据被误删等事件时,使用一种有效的数据备份方案,就可以快速解决以上所有的问题。MySQL提供了多种备份方案,包括:物理备份、逻辑备份、全备份以及增量备份,你可以选择最适合自己使用的方式备份数据。

    物理备份通过直接复制包含有数据库内容的目录与文件实现,这种备份方式适用于对重要的大规模数据进行备份,并且要求实现快速还原的生产环境。典型的物理备份就是复制 MySQL数据库的部分或全部目录,物理备份还可以备份相关的配置文件。但采用物理备份需要MySQL处于关闭状态或者对数据库进行锁操作,防止在备份的过程中改变发送数据。物理备份可以使用mysqlbackup对InnoDB数据进行备份,使用mysqlhotcopy对MyISAM数据进行备份。另外,也可以使用文件系统级别的cp、scp、tar、rsync等命令。

    逻辑备份通过保存代表数据库结构及数据内容的描述信息实现,如,保存创建数据结构以及添加数据内容的SQL语句,这种备份方式适用于少量数据的备份与还原。逻辑备份需要查询MySQL服务器获得数据结构及内容信息,因为需要查询数据库信息并将这些信息转换为逻辑格式,所以相对于物理备份而言比较慢。逻辑备份不会备份日志、配置文件等不属于数据库内容的资料。逻辑备份的优势在于不管是服务层面、数据库层面还是数据表层面的备份都可以实现,由于是以逻辑格式存储的,所以这种备份与系统、硬件无关。

    全备份将备份某一时刻所有的数据,通过物理或逻辑备份工具就可以完成完全备份。

    增量备份仅备份某一段时间内发生过改变的数据。而增量备份需要开启MySQL二进制日志,通过日志记录数据的改变,从而实现增量差异备份。

    一、数据库备份

    下面将通过一些案例介绍如何使用MySQL提供的工具命令进行逻辑备份。使用 mysqldump 备份数据库,默认该工具会将SQL语句信息导出至标准输出,可以通过重定向将输出保存至文件:

    (1)备份所有的数据库

    mysqldump -u root -p --all-databases > bak.sql

    (2)备份指定的数据库db1、db2以及db3

    mysqldump -u root -p --databases db1 db2 db3 > bak.sql

    (3)备份db数据库,当仅备份一个数据库时,--databases可以省略

    mysqldump -u root -p db4 > bak.sql

    mysqldump -u root -p --databases db4 > bak.sql

    两者之间的差别在于不使用 --databases 选项,则备份输出信息中不会包含CREATE DATABASE或USE语句。不使用 --databases 选项备份的数据文件,在后期进行数据还原操作时,如果该数据库不存在,必须先创建该数据库。

    二、数据库还原

    使用mysql命令读取备份文件,实现数据还原功能:

    mysql -u root -p < bak.sql

    mysql -u root -p db4 < bak.sq1

    三、案例

    案例:下面将 testDB 数据库中的内容导出成一个文件,并保存到 /home/目录下

    [root@192 home]# mysqldump -u root -p testDB > /home/bak.sql

    Enter password:

    然后进入MySQL数据库,彻底删除 testDB 数据库,然后重新创建 testDB 数据库

    mysql> show databases;

    +--------------------+

    | Database |

    +--------------------+

    | information_schema |

    | mysql |

    | performance_schema |

    | sys |

    | testDB             |

    +--------------------+

    5 rows in set (0.00 sec)

    mysql> select * from testDB.mybook;

    +--------+-------+-------+

    | name | price | pages |

    +--------+-------+-------+

    | Linux2 | 40 | 200 |

    | Linux4 | 60 | 400 |

    +--------+-------+-------+

    2 rows in set (0.00 sec)

    mysql> drop database testDB;

    Query OK, 1 row affected (0.00 sec)

    mysql> show databases;

    +--------------------+

    | Database |

    +--------------------+

    | information_schema |

    | mysql |

    | performance_schema |

    | sys |

    +--------------------+

    4 rows in set (0.00 sec)

    mysql> exit

    创建数据库

    mysql> create database testDB;

    Query OK, 1 row affected (0.00 sec)

    mysql> exit

    Bye

    将备份的数据导入到刚新建的 testDB 数据库中

    [root@192 home]# mysql -u root -p testDB < /home/bak.sql

    Enter password:

    查看数据是否恢复成功

    [root@192 home]# mysql -u root -p

    Enter password:

    mysql> select * from testDB.mybook;

    +--------+-------+-------+

    | name | price | pages |

    +--------+-------+-------+

    | Linux2 | 40 | 200 |

    | Linux4 | 60 | 400 |

    +--------+-------+-------+

    2 rows in set (0.00 sec)

    展开全文
  • 对于一些网站、系统来说,数据库就是一切,所以做好数据库备份是至关重要的! 备份是什么? 为什么要备份 容灾方案建设 存储介质 光盘 磁带 硬盘 磁盘阵列 DAS:直接附加存储 NAS:网络附加存储 SAN:存储...
  • 1. 直接拷贝数据库文件(物理拷贝) 2. 使用 mysqldump 工具备份 3. 使用 mysqlhotcopy 工具备份 4. 使用 mysql 的主从同步复制,实现数据实时同步备份 二、MySQL 物理数据文件结构介绍 1. 日志文件 错误日志 err log...
  • odoo默认的数据库为postgresql...输入odoo应用访问地址,例如:192.168.1.188:8069/web/database/manager 可以直接选择自己需要的数据库,进行手动复制备份,和删除。 2. odoo应用社区也提供了一些第三方备份的...

    odoo默认的数据库为postgresql数据库,

    PG是个非常强大的数据库,也是未来的一个趋势。

    对于odoo的数据备份,odoo提供了自己的备份方式,

    1. 从前台页面。输入odoo应用访问地址,例如:192.168.1.188:8069/web/database/manager 可以直接选择自己需要的数据库,进行手动复制,备份,和删除。

    2. odoo应用社区也提供了一些第三方备份的模块,感兴趣的可以自行搜索。

    3. 从数据库级别,即:按照常规数据库的备份恢复来操作。

        这里需要注意一点,对于单实例的非SAAS架构的odoo程序,完全可以按照数据库的常规方式去处理。

        但是,对于SAAS架构的odoo应用程序,就需要注意自己备份的数据库ID,恢复数据库的时候是否还能和主应用程序SAAS模块的管理ID相对应!

    备份策略待更新!

    转载于:https://www.cnblogs.com/hellojesson/p/8376030.html

    展开全文
  • 对于一些网站、系统来说,数据库就是一切,所以做好数据库备份是至关重要的! 备份是什么? 为什么要备份 容灾方案建设 存储介质 光盘 磁带 硬盘 磁盘阵列 DAS:直接附加存储 NAS:网络附加存储 SAN...

    概述

      备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。而对于一些网站、系统来说,数据库就是一切,所以做好数据库的备份是至关重要的!

    备份是什么?

    这里写图片描述

    为什么要备份

    这里写图片描述

    容灾方案建设

    这里写图片描述

    存储介质

    光盘
    磁带
    硬盘
    磁盘阵列
    DAS:直接附加存储
    NAS:网络附加存储
    SAN:存储区域网络
    云存储

    这里主要以本地磁盘为存储介质讲一下计划任务的添加使用,基本的备份脚本,其它存储介质只是介质的访问方式可能不大一样。

    1、查看磁盘空间情况:

    既然是定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果!
    存储到当前磁盘这是最简单,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件就选择更好更安全的存储介质;

    # df -h
    Filesystem                    Size  Used Avail Use% Mounted on
    /dev/mapper/VolGroup-lv_root   50G   46G  1.6G  97% /
    tmpfs                         1.9G   92K  1.9G   1% /dev/shm
    /dev/sda1                     485M   39M  421M   9% /boot
    /dev/mapper/VolGroup-lv_home  534G  3.6G  503G   1% /home

    2、创建备份目录:

    上面我们使用命令看出/home下空间比较充足,所以可以考虑在/home保存备份文件;

    cd /home
    mkdir backup
    cd backup

     

    3、创建备份Shell脚本:

    注意把以下命令中的DatabaseName换为实际的数据库名称;
    当然,你也可以使用其实的命名规则!

    vi bkDatabaseName.sh

    输入/粘贴以下内容:

    #!/bin/bash
    mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql

    对备份进行压缩:

    #!/bin/bash
    mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz

    注意:
    把 username 替换为实际的用户名;
    把 password 替换为实际的密码;
    把 DatabaseName 替换为实际的数据库名;

    4、添加可执行权限:

    chmod u+x bkDatabaseName.sh

    添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;

    ./bkDatabaseName.sh

    5、添加计划任务

    检测或安装 crontab

    确认crontab是否安装:
    执行 crontab 命令如果报 command not found,就表明没有安装

    # crontab
    -bash: crontab: command not found

    如时没有安装 crontab,需要先安装它,具体步骤请参考:
    CentOS下使用yum命令安装计划任务程序crontab
    使用rpm命令从CentOS系统盘安装计划任务程序crontab

    添加计划任务

    执行命令:

    crontab -e

    这时就像使用vi编辑器一样,可以对计划任务进行编辑。
    输入以下内容并保存:

    */1 * * * * /home/backup/bkDatabaseName.sh

    具体是什么意思呢?
    意思是每一分钟执行一次shell脚本“/home/backup/bkDatabaseName.sh”。

    6、测试任务是否执行

    很简单,我们就执行几次“ls”命令,看看一分钟过后文件有没有被创建就可以了!

    如果任务执行失败了,可以通过以下命令查看任务日志:

    # tail -f /var/log/cron

    输出类似如下:

    Sep 30 14:01:01 bogon run-parts(/etc/cron.hourly)[2503]: starting 0anacron
    Sep 30 14:01:01 bogon run-parts(/etc/cron.hourly)[2512]: finished 0anacron
    Sep 30 15:01:01 bogon CROND[3092]: (root) CMD (run-parts /etc/cron.hourly)
    Sep 30 15:01:01 bogon run-parts(/etc/cron.hourly)[3092]: starting 0anacron
    Sep 30 15:01:02 bogon run-parts(/etc/cron.hourly)[3101]: finished 0anacron
    Sep 30 15:50:44 bogon crontab[3598]: (root) BEGIN EDIT (root)
    Sep 30 16:01:01 bogon CROND[3705]: (root) CMD (run-parts /etc/cron.hourly)
    Sep 30 16:01:01 bogon run-parts(/etc/cron.hourly)[3705]: starting 0anacron
    Sep 30 16:01:01 bogon run-parts(/etc/cron.hourly)[3714]: finished 0anacron
    Sep 30 16:15:29 bogon crontab[3598]: (root) END EDIT (root)

     

    展开全文
  • 备份数据库的另一个技术是使用mysqldump程序或mysqlhotcopy脚本。 1. 完全备份数据库: 2. shell> mysqldump --tab=/path/to/some/dir --opt db_name 或: shell> mysqlhotcopy db_name /path/to/some/dir 只要...
  • 这个时候,往往需要备份数据库。如果按照一般的操作方式,都是先把数据库导出并备份到本地,然后再服务器上测试。如果一切正常还好,一旦出了问题,就又得把数据库重新由本地导入到服务器。如果数据库比较大,尤其是...
  • 在实际环境中,时不时需要备份恢复单个或多个表(注意:这里除非明确指定,所说的表一律指InnoDB表),而对于innodb引擎恢复单个表需要整体的恢复,xtrabackup也可以单个表恢复,只不过是用的正则过滤的,不知最新版本...
  • 数据库迁移

    2014-01-10 14:12:25
    对于数据库迁移有两种方式:(以2008备份到2012上面为例) 从一台服务器迁移到另一台服务器 1.备份还原 右击某个数据库----------任务--------备份----------删除默认备份目录--------添加新的备份路径(完成备份...
  • SQL server数据库克隆

    2020-02-06 16:01:50
    对于同一台电脑的不同数据库,可以使用导入数据功能直接复制数据库里面的数据即可。 第一步:新建数据库 第二步:进入”SQL Server导入导出向导“,根据提示步骤操作。 第三步:选择数据源(源数据库)。...
  • Xtrabackup 流备份与恢复

    万次阅读 2015-04-15 20:07:05
    对于服务器上空间不足,或是搭建主从,直接使用流式备份大大简化了备份后的压缩复制所带来的更多开销。Xtrabackup支持tar格式以及xbstream格式的流备份。本文即是对此展开的相关描述。 1、基于tar格式备份a、备份到...
  • 备份对于数据库而言是至关重要的。当数据文件发生损坏、MySQL服务出现错误、系统内核崩溃、计算机硬件损坏或者数据被...物理备份通过直接复制包含有数据库内容的目录与文件实现,这种备份方式适用于对重要的大规模...
  • mysql备份与恢复详解

    2021-01-19 22:15:42
    MYSQL的备份有多少种,请简要的描述:数据库分逻辑备份\物理备份物理备份又分冷备和热备 A.直接拷贝数据文件到安全地方进行保存B.使用MYSQLHOSTCOPY备分数据C.使用MYSQLDUMP备份数据D.使用MYSQL的同步复制,实现数据...
  •  这也难怪,设计、开发人员在学校中学习数据库时,理论书籍离实际开发较远——试问有几个人能够以可实践的方式把规范化的几条原则阐述清楚?在工作时,使用的数据库资料和书籍又往往是“手册型”,大多仅仅讲解特定...
  •  这也难怪,设计、开发人员在学校中学习数据库时,理论书籍离实际开发较远——试问有几个人能够以可实践的方式把规范化的几条原则阐述清楚?在工作时,使用的数据库资料和书籍又往往是“手册型”,大多仅仅讲解特定...
  • 书中内容主要集中在大多数企业常见的问题之上,如安装和升级到oracle database 11g数据库软件、创建数据库、导出和导入数据、数据库备份与恢复、性能调优,等等。  本书还提供了dba完成本职工作必备的基本的uniix...
  • oracle数据库经典题目

    2011-02-17 15:05:20
    16. Oralce数据库在进行物理备份有联机备份和脱机备份两种方式可供选择。 . 17. 从存储结构的角度来说,Oracle数据库可分为物理结构和逻辑结构。 18. 表空间是Oracle数据库中数据的逻辑组织,每个数据库至少有一个...
  • 软件功能强大,持修复因各种原因造成的数据库无法打开或数据库删除后没有备份的问题,从而实现对Oracle数据库的抢修恢复,最大限度减少数据丢失。是用户实现Oracle数据库抢修恢复的好帮手。需要的朋友快来下载吧! ...
  • Xtrabackup流备份与恢复

    2016-02-22 14:35:00
    对于服务器上空间不足,或是搭建主从,直接使用流式备份大大简化了备份后的压缩复制所带来的更多开销。Xtrabackup支持tar格式以及xbstream格式的流备份。本文即是对此展开的相关描述。 1、基于tar格式备份a、备份...
  • 1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于SQlServer) 法二:select top 0 * into b from a 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:...
  • 对于一些网站、系统来说,数据库就是一切,所以做好数据库备份是至关重要的! 备份是什么? 存储介质 光盘磁带硬盘磁盘阵列DAS:直接附加存储NAS:网络附加存储SAN:存储区域网络云存储 这里主要以本地...
  • 6.3 活动(基于网络)的数据库复制 231 6.3.1 先决条件 232 6.3.2 必要的spfile修改 232 6.3.3 执行活动复制 234 6.3.4 支持网络的复制如何工作 238 6.4 恢复目录管理 239 6.4.1 合并恢复目录 239 6.4.2 ...
  • Shell脚本中执行mysql的几种方式(转)对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本。本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考。对于脚本...
  • 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本。本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考。对于脚本输出的结果美化,需要进一步完善和...
  • Xtrabackup流备与恢复

    2018-10-18 10:46:45
    对于服务器上空间不足,或是搭建主从,直接使用流式备份大大简化了备份后的压缩复制所带来的更多开销。Xtrabackup支持tar格式以及xbstream格式的流备份。本文即是对此展开的相关描述。   1、基于tar格式备份a、...
  • 1.1还原使用mysqldump命令... C:\backup.sql1.2还原直接复制目录的备份通过这种方式还原时,必须保证两个MySQL数据库的版本号是相同的。MyISAM类型的表有效,对于InnoDB类型的表不可用,InnoDB表的表空间不能直接复...

空空如也

空空如也

1 2 3 4 5 6
收藏数 115
精华内容 46
关键字:

对于直接复制方式备份数据库