精华内容
下载资源
问答
  • MySQL数据备份

    2019-07-17 10:05:00
    MySQL数据备份 链接:https://pan.baidu.com/s/1ANGg3Kd_28BzQrA5ya17fQ 提取码:ekpy 复制这段内容后打开百度网盘手机App,操作更方便哦 1.数据库备份的分类 1.1从物理与逻辑的角度,备份可以分为物理备份和逻辑...

    MySQL数据备份

    链接:https://pan.baidu.com/s/1ANGg3Kd_28BzQrA5ya17fQ
    提取码:ekpy
    复制这段内容后打开百度网盘手机App,操作更方便哦

    1.数据库备份的分类

    1.1从物理与逻辑的角度,备份可以分为物理备份逻辑备份

    1.1.1物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份。物理备份又可分为脱机备份(冷备份)和联机备份(热备份)

    • 冷备份:是在关闭数据库的时候进行的
    • 热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文件
    • 温备份:数据库锁定表格(不可写入但可读)的状态下进行的

    1.1.2逻辑备份:对数据库逻辑组件(如表等数据库对象)的备份

    1.2从数据库的备份策略角度,备份可分为完全备份、差异备份和增量备份

    完全备份:每次对数据进行完整的备份
    对整个数据库的备份、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,是差异备份与增量备份的基础。

    • 优点:备份与恢复操作简单方便
    • 缺点:数据存在大量的重复;占用大量的空间;备份与恢复时间长

    增量备份:只有那些在上次完全备份或者增量备份后被修改的文件才会被备份

    • 以上次完整备份或上次的增量备份的时间为时间点,仅备份这之间的数据变化,因而备份的数据量小,占用空间小,备份速度快。但恢复时,需要从上一次的完整备份起到最后一次增量备份依次恢复,如中间某次的备份数据损坏,将导致数据的丢失。

      2.MySQL备份思路

      • 定期实施备份,指定备份计划或策略,并严格遵守
      • 除了进行完全备份,开启MySQL服务器的日志功能是很重要的(完全备份加上日志,可以对MySQL进行最大化还原)
      • 使用统一和易理解的备份名称,推荐使用库名或者表名加上时间的命名规则,如mysql_user-20160505.sql,不要使用backup1之类没有意义的名字。

      3.MySQL全量备份与恢复

      3.1备份

      3.1.1单个备份一个库

      image_1ckf66015145b6fo82tn8qr419.png-11.7kB

      3.1.2查看

      image_1ckf66vgp21mu4f1qdj1h42f17m.png-2.3kB

      3.1.3备份两个库(以上)要加参数--databases

      image_1ckf6kfn6171u16kaji8vbj1db013.png-7.1kB

      3.1.4查看

      image_1ckf6nsmnjr9924goh10a7jr320.png-3.2kB

      3.1.5不指定库名,全部备份

      image_1ckf6uo231qg5k4gfi11ok62lk2d.png-8.6kB

      3.1.6查看

      image_1ckf6vml925k1toq14fusov6br2q.png-3.9kB

      3.1.7对单个一个表备份

      image_1ckf75mv1rn28knsbm571n0a3n.png-9.3kB

      3.1.8查看

      image_1ckf77hbtr4f1kp610kv1l387od44.png-4.3kB

      3.1.9备份中压缩(可以加快速度)

      image_1ckf91ku0fo111ae1sq65pe1j5h7f.png-8kB

      3.1.10查看

      image_1ckf92g2g1832g2k3l61g861no87s.png-6.8kB

      3.2数据恢复

      3.2.1模拟实验,删除一个库再恢复

      image_1ckf7jep54i6dctgnb4dq132k4h.png-16.8kB

      3.2.2全备恢复(交互式)

      image_1ckf7o9921cva1g2u13f2fjmgdt5e.png-1.9kB

      3.2.3查看已恢复的数据

      image_1ckf7pkjqrp01krr1pep16eq1tn75r.png-5.9kB

      3.2.4全备恢复(不交互)模拟实验,删除一个库再恢复

      image_1ckf7uhl1ng563h1hmp535160q68.png-2.9kB

      3.2.5查看已恢复的数据

      image_1ckf81euh6huev213ijc4g1arl6l.png-6kB

    image_1ckf83s9m12rmr5v6jf6gbefv72.png-7.7kB

    3.3备份与恢复单个的表

    3.3.1已知表内信息数据如下:

    image_1ckk19ckl1hcd1dov19gopou1to39.png-5.8kB

    3.3.2备份单个表

    image_1ckk1b1voh1jjc11r4uet41ecgm.png-7.3kB

    3.3.3删除表内信息

    image_1ckk1erdd11o47of15sntbdr4913.png-10.2kB

    3.3.4恢复表内信息数据

    image_1ckk1hoo91pnc63hu623ubf31g.png-6.8kB

    3.3.5查看恢复数据

    image_1ckk1isa91j1khfo65u1a731s651t.png-5.9kB

    4.MySQL增量备份与恢复

    4.1MySQL增量备份的特点:

    • 没有重复数据,备份量不大,时间短
    • 恢复麻烦: 需要上次完全备份及完全备份之后所有的增量备份才能恢复,而且要对所有增量备份进行逐个反推恢复。
      备注:MySQL没有提供直接的增量备份办法,可以通过MySQL提供的二进制日志( binary logs )间接实现增量备份。

    4.2MySQL二进制日志对备份的意义:

    • 二进制日志保存了所有更新或者可能更新数据库的操作。
    • 二进制日志在启动MySQL服务器后开始记录,并在文件达到max_ binlog_ size所设置的大小或者接收到flush logs命令后重新创建新的日志文件。
    • 只需定时执行flush logs方法重新创建新的日志,生成二进制文件序列,并及时把这些日志保存到安全的地方就完成了一个时间段的增量备份。

    4.3flush logs刷新日志

    4.3.1已知/usr/local/mysql/data/目录下

    image_1ckk71icg1gdv1rvi1gdm12542hh2a.png-8kB

    4.3.2刷新日志

    image_1ckk73frns2ur9dli01bc97ko2n.png-2.7kB

    4.3.3检查查看

    image_1ckk75h121po719q2s2p1ii24q434.png-10.4kB

    4.4MySQL增量恢复的方法

    4.4.1mysqlbinlog查看日志

    image_1ckk9tq3vqj05191v71ul718qk9.png-58.6kB

    4.4.2增量备份的三种用法

    image_1ckkbmkmfdhjtu1ien19aj5j88i.png-149.1kB

    4.4.3一般的恢复:备份的二进制日志内容全部恢复

    (1)刷新一个新日志002,以便实验
    image_1ckk7m52a1pjoh0adtjeggohj41.png-2.7kB

    image_1ckk7nmnot90r8210okbo3aaq4e.png-8.5kB

    (2)检查环境,什么都没有
    image_1ckk7qsnm1g2i10ut14ic3qtc1m4r.png-2.1kB

    (3)创建一个表内数据,记录在002日志
    image_1ckk7sce7ssf1kae1adr142t195758.png-9.2kB

    (4)刷新一个新日志003,以便实验
    image_1ckk81qli1mdprg69jqlh16535l.png-2.7kB

    image_1ckk82v4mn5sg7s1rea1g8plkn62.png-7.3kB

    (5)执行删除命令
    image_1ckk8693mqdtqrd4vdur3ojj6i.png-2.8kB

    (6)检查环境,已删除
    image_1ckk86rsjrsrqs6f5m1tu8voh6v.png-2.2kB

    (7)为避免交互,重新刷新日志
    image_1ckk8ipk615u2ju1trh10et1hbm89.png-2.2kB

    已知现在创建表的数据存储在日志002,删除命令存储在日志003

    实验一:
    (1)执行增量数据恢复(日志002
    image_1ckk8rhprvcm85513f111d91it58m.png-3.7kB

    (2)检查实验结果
    image_1ckk8s6bo1614e0qo871ajgf9v93.png-4.9kB

    实验二:
    (1)执行增量数据恢复(日志003
    image_1ckk8vbq01adgchm1j2g1vkt1l0o9g.png-3.8kB

    (2)检查实验结果
    image_1ckk8vsu91j1t1h9g4mgat010vd9t.png-2.3kB

    4.4.4基于时间点的恢复:便于跳过某个发生错误的时间点实现数据恢复

    4.4.5基于位置的恢复:可能在同一时间点既有错误的操作也有正确的操作,基于位置进行恢复更加精准

    (1)已知现在为日志004
    image_1ckka957s1lcbc9ulr41sk3p6120.png-9.4kB

    (2)已知现在表内信息数据如下
    image_1ckkaas99dde1hgd1v67113b1cvi2d.png-4.8kB

    (3)查看当前位置(删除前)
    image_1ckkacoef1up0a4ksosrt01lja2q.png-7.6kB

    (4)执行删除命令
    image_1ckkadr1crkln4b1p1511e81c9137.png-2.7kB

    (5)查看当前位置(删除后)
    image_1ckkaf8436qaal1m08ud1qs43k.png-6.5kB

    (6)检查当前环境
    image_1ckkag67pet51ft751amm5al041.png-2.2kB

    已知删除命令处以18532032之间

    实验如下:
    (1)执行增量数据恢复(日志004
    image_1ckkb173hb0o13ne1k6i14vr1dtq4e.png-12.7kB

    (2)检查实验结果(已成功删除)
    image_1ckkb5u2i16891dhbu821f7p1c5m4r.png-2.2kB

    4.5在企业中如何去应用MySQL的备份策略

    image_1ckgs1fvkihq2p145a19941ta319.png-431.3kB

    image_1ckgs29cjgbv1qpfg541npb1vlf1m.png-241.8kB

    image_1ckgs2lss14oc19f2esg9c35d23.png-225.2kB

    转载于:https://www.cnblogs.com/ywb123/p/11199124.html

    展开全文
  • mysql 数据备份

    2017-03-28 13:44:34
    mysql 数据备份时指定单表备份行数 mysqldump -uroot –p -w”1=1 limit 0 ,1300” mzywx_crmoa > mzywx_crmoa_0324_limit1300.sql

    mysql 数据备份

    1.指定备份表的行数
    mysqldump -uroot --p -w"1=1 limit 0 ,1300" databasename> dumpname.sql
    - 指定备份该数据库时,每张表的数据备份行数为1300行

    2.备份时跳过指定的表
    mysqldump --single-transaction --ignore-table=database.tablename_1
    --ignore-table=database.tablename_2 -uroot -p database> databasedump.sql
    3.备份指定表
    mysqldump -uname -p database tablename > tablename.sql
    * 4.带where子句备份指定表*
    mysqldump -uroot -p database tablename--where=" 1=1 and query='0'" > name.sql

    展开全文
  • mysql数据备份

    2016-06-16 22:10:52
    mysql数据备份 【本地】 实验环境:mysql5.7版本,系统redhat6.5,防火墙和selinux关闭 mysqldump命令 (1)导出整个数据库(包括数据库中的数据)mysqldump -u username -p dbname > dbname.sql (2)导出...

    mysql数据备份
    【本地】
    实验环境:mysql5.7版本,系统redhat6.5,防火墙和selinux关闭
    mysqldump命令
    (1)导出整个数据库(包括数据库中的数据)

    mysqldump -u username -p dbname > dbname.sql    
    

    (2)导出数据库结构(不含数据)

    mysqldump -u username -p -d dbname > dbname.sql    
    

    (3)导出数据库中的某张数据表(包含数据)

    mysqldump -u username -p dbname tablename > tablename.sql    
    

    (4)导出数据库中的某张数据表的表结构(不含数据)

    mysqldump -u username -p -d dbname tablename > tablename.sql   
    

    mysqlbinlog命令

    mysql的二进制日志默认是关闭的,在/var/lib/mysql是看不到日志文件的
    这里写图片描述
    所以需要修改/etc/my.cnf文件。
    server-id=2
    log-bin=mysql-bin

    这里写图描述
    修改完文件之后重启Mysql服务,即可查看二进制文件,并且在mysql里可以看到master status
    这里写图片描述
    这里写图片描述
    mysqlbinlog –no-defaults mysql-bin.000001 –start-position=”443” –stop-position=”1045” | mysql -u root -pWEStos+007 test
    mysql>reset master; ##重置binlog日志

    【异地】
    基于GTID的MySQL主从复制
    实验环境:mysql5.7版本(mysql5.6版也适用),系统redhat6.5,防火墙和selinux关闭,
    实验主机:
    server1 172.25.5.1 主机
    server3 172.25.5.3 备份机

    server1和server3:
    (1)开启mysql二进制日志
    /etc/my.cnf文件中,server-id参数备份机与主机的id不同。
    (2)修改etc/my.cnf,开启gtid,
    gtid-mode=on
    enforce-gtid-consistency=on
    slave-parallel-type=LOGICAL_CLOCK
    slave-parallel-workers=16
    master_info_repository=TABLE
    relay_log_recovery=ON
    这里写图片描述
    修改完文件之后重启Mysql服务,或在mysql里start slave
    show global variables like ‘%gtid%’;查看gtid状态
    这里写图片描述

    server1:
    进入mysql,添加用户
    这里写图片描述

    server3:
    进入mysql,添加master
    这里写图片描述
    这里写图片描述

    当 Slave_IO_Running,和Slave_SQL_Running两个参数都为YES的时候配置成功


    在AB复制中,当 slave 增加到一定数量时,slave 对 master 的负载以及网络带宽都会成为一个严重
    的问题。所以可以让 slave 扮演其它 slave 的 master。此时,slave 把 SQL 线程执行的事件写进行自己的二进制日志(binary log),然后,其它的 slave 可以获取这些事件并执行它,从而有效缓解master 的压力。

    实验环境:
    在上一个实验的基础上添加主机
    server2 172.25.5.2 slave2

    server1:
    因为在备份之前server1中已经有数据,所以需要将之前的数据先复制给server2
    mysql> FLUSH TABLES WITH READ LOCK; #锁表
    shell> mysqldump -u root -p –all-databases –lock-all-tables pass –set-gtid-purged=OFF > backup.db
    mysql> UNLOCK TABLES; #表解锁
    2)如果仅使用 MyISAM 表,可以使用 mysqlhotcopy 拷贝,即使服务器正在运行。
    mysqlhotcopy -u root -p westos mysql bakcup

    server3:
    给/etc/my.cnf添加参数
    binlog-ignore-db=mysql
    binlog-do-db=test
    log-slave-updates
    这里写图片描述
    进入mysql,添加用户
    这里写图片描述

    server2:
    安装mysql5.7,开启mysql二进制日志,和gtid
    这里写图片描述
    进入mysql,添加master,启动slave
    这里写图片描述

    展开全文
  • Mysql 数据备份

    2015-12-24 15:56:29
    mysqldump 方法备份容易恢复困难研究mysql手册,发现开源的mysql数据备份分为逻辑备份和物理备份mysqldump 属于逻辑备份,可以实现热备,增量备份 但不适合较大的数据,对于数据量较多时,mysql推荐物理备份 仅...

    数据备份可以分为冷备(服务器停止)和热备

    一般系统用mysqldump命令便可以
    加入数据库数据较大超过1G
    mysqldump 方法备份容易恢复困难

    研究mysql手册,发现开源的mysql的数据备份分为逻辑备份和物理备份

    mysqldump 属于逻辑备份,可以实现热备,增量备份
    但不适合较大的数据,对于数据量较多时,mysql推荐物理备份
    仅限于MyISAM表

    对于InnoDB 表推荐使用在线主从备份

    对于较大的数据集,可以使用mysqldump 为数据库的每一张表做一个备份文件,或者使用mysql 语句实现增量备份

    分析mysqldump 的备份文件,分为固定长度的insert语句,数据还原的时候先lock table之后insert Data

    如果文件很大,很难恢复成功,一种思路是自己写脚本,把大文件的sql 语句分批执行
    或者使用桌面工具mysqladministrator
    支持恢复mysqldump 文件,但不保证成功。

    对于一般系统,数据量较大的时候采用主从备份,slave 机器上执行mysqldump
    这样便可以较好的保证数据安全了。

    展开全文
  • Mysql数据备份

    2015-01-04 14:00:27
    最近在帮公司搭建一个图书馆,图书馆搭好后需要对数据进行自动备份。这里我将详细讲解一下怎么对数据进行备份。...3、这里先要说明一下,备份数据库我们一般直接备份MySQL中data目录。 4、现在打开shuju.t
  • 运维脚本-多线程MySQL数据备份

    万次阅读 2020-12-08 19:53:40
    有问题可联系本人QQ:1016401546 一起学习一起成长 python 脚本多线程备份MySQL数据: #!/usr/bin/python # coding=utf-8 import sys sys.path.append("/data/yw/server/model") import datetime import commands...
  • Mysql数据备份和还原

    2020-10-02 10:11:35
    Mysql数据备份和还原 一、Mysql完整备份和恢复 1、备份的作用和mysql产生故障的原因 1)备份的作用 防止发生故障损失降到最低 故障后能够快速恢复丢失数据保证数据库系统或者数据稳定运行 2)mysql故障的类型 程序...
  • mysql数据备份与还原

    2019-07-21 10:58:37
    mysql数据备份与还原数据备份数据还原 数据备份 整库备份 利用mysqldump进行sql备份 语法:mysqldump.exe -hPup 数据库名字 > 备份路径 mysqldump.exe -hlocalhost -P3306 -uroot -proot mydatabase C:...
  • Docker下Mysql数据备份

    2021-01-28 19:09:43
    Mysql数据备份 温馨提示 :本篇文章内容 手动备份 1、进到docker-compose配置文件所在目录 cd /root/apps/data-input-sy 2、查看所有镜像 docker-compose ps 3、进入mysql镜像,然后进入到mysql/bin目录下 ...
  • MySQL 数据备份与还原

    2019-10-04 14:32:51
    MySQL 数据备份与还原 一、数据备份  1、使用mysqldump命令备份  mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。  mysqldump命令的工作原理很...
  • MySQL数据备份和恢复(导出和导入)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,359
精华内容 10,143
关键字:

mysql数据备份

mysql 订阅