我的编程空间,编程开发者的网络收藏夹
学习永远不晚

应该如何备份及还原mysql数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

应该如何备份及还原mysql数据

下面一起来了解下应该如何备份及还原mysql数据,相信大家看完肯定会受益匪浅,文字在精不在多,希望应该如何备份及还原mysql数据这篇短内容是你想要的。

备份的不同分类:

                热备份、温备份和冷备份

                        热备份:读、写不受影响;

                        温备份:仅可以执行读操作;

                        冷备份:离线备份;读、写操作均中止;

                物理备份和逻辑备份

                        物理备份:复制数据文件;原始数据在操作系统上呈什么样,备份出来也是什么样,适用

                                          于比较大型、重要、出现故障时要快速恢复的场景

                        逻辑备份:备份sql语句,恢复的时候执行一遍备份的sql语句,较为灵活,但恢复速度较

                                          慢,适用于小型、便于在其他云服务器上进行恢复的场景                       

                完全备份、增量备份和差异备份;

                        完全备份:备份全部数据;

                        增量备份:仅备份上次完全备份或增量备份以后变化的数据;

                        差异备份:仅备份上次完全备份以来变化的数据;

备份工具:

    1、通过复制对象相关文件的方式创建备份

        一般适用于myisam引擎表,只要将.frm、.MYD、.MYI这些文件复制保存就相当于进行了备份

        步骤:

    mysql>FLUSH TABLES tb_name WITH READ LOCK    #备份前对表进行只读锁定
    [root@localhost /]cp /the/path/to/data /the/path/to/backup
    mysql>UNLOCK TABLES         #释放锁

        这种备份方法不适用于Innodb表,当innodb_file_per_table设置为1时,复制表对象的相关文件.ibd不能达到备份的目的,因为表结构、所属数据库等信息仍存在于Innodb的系统表空间中。

    2、使用sql语句进行备份

mysql>SELECT * INTO OUTFILE '/path/to/somefile.txt' FROM tb_name [WHERE clause];

    3、使用mysqldump进行逻辑备份

        备份单个数据库/表

mysqldump -uUSERNAME -p PASSWORD db_name [tb_name]> /path/to/backup/db_name.sql

        备份多个数据库

mysqldump -uUSERNAME -p PASSWORD --databases db1 db2 > /path/to/backup/db1_db2.sql

        使用--tab输出txt文件和sql文件,将数据和建表语句分开

mysqldump -uUSERNAME -p PASSWORD --tab=/path/to/backup db_name [tb_name]    #将数据库的全部对象或特定的表导出到backup目录下

    例1:备份数据库jiaowu下的tutors表

应该如何备份及还原mysql数据

    查看/tmp/test2目录

应该如何备份及还原mysql数据

    例2:备份整个数据库

应该如何备份及还原mysql数据

    然后查看/tmp/test目录

应该如何备份及还原mysql数据

    可以发现,数据库中的每张表都生成两个同名文件,.txt存储表中的实际数据,.sql存储的是sql语句(建表语句)

    查看一下tutors.txt这个文件

应该如何备份及还原mysql数据

可以看到,每条记录输出到一行上,列值之间用tab符隔开,如果希望自己能自定义输出的格式,可以使用下面的选项

--fields-terminated-by=','

列值之间用逗号隔开

--fields-enclosed-by='"'列值使用双引号引起来
--lines-terminated-by=‘\'指定\为行结束符,默认为换行符

应该如何备份及还原mysql数据

应该如何备份及还原mysql数据

可以看到,导出的tutors.txt列值之间以逗号分开,并使用双引号引住,这样可以方便以后数据导入回数据库中

注意要点:

    当mysqldump没有使用--tab时,其导出的sql文件中既有操作语句又有建表语句;当使用--tab时,其中txt文件保存数据,sql文件仅有建表语句。

数据库的还原

  1、mysqldump没使用--tab选项    

mysql>use db_name
mysql>source /path/to/backup/tb.sql     #这样即可导入

   2、mysqldump使用--tab选项    

    1、使用.sql文件将表创建好

    mysql -uUSERNAME -p PASSWORD db_name < /path/to/backup/tb.sql

应该如何备份及还原mysql数据

    2、在数据库中通过LOAD DATA INFILE语句来导入.txt文件到表中

mysql>LOAD DATA INFILE '/path/to/tb.txt' INTO TABLE tb_name [参数]

应该如何备份及还原mysql数据

创建冷备份

    1、查看正在使用的二进制日志

mysql>show master status;

应该如何备份及还原mysql数据

    2、进行二进制日志滚动

mysql>flush logs

   应该如何备份及还原mysql数据

 3、关闭mysql,备份数据目录,开启mysql即可

创建增量备份

    1、进行二进制日志滚动

    2、使用mysqlbinlog进行备份

mysqlbinlog /path/to/binlog/mysql-bin.0000xx > /path/to/backup/0000xx.sql

    (恢复时可以直接source或mysql命令(上面还原时有讲到))

    说白了增量备份就是使用mysqlbinlog将上次备份后新生成的二进制日志备份到指定目录


看完应该如何备份及还原mysql数据这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的数据库栏目。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

应该如何备份及还原mysql数据

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

下载Word文档

猜你喜欢

MySQL数据备份及还原(一)

关于删库跑路的事故现在已经屡见不鲜了,数据备份的必要性是企业数据管理极其重要的一项工作。关于数据备份、恢复也有很多场景及方法,本系列也会将主要的几种工具通过案例进行演示。本系列将从逻辑备份及恢复开始讲起,逻辑备份的工具主要有mysqldump/mydumper
MySQL数据备份及还原(一)
2021-08-19

mysql如何备份和还原数据库

MySQL数据库的备份和还原可以通过命令行或者图形界面工具来完成。备份数据库:使用命令行工具:可以使用mysqldump命令来备份数据库。例如,备份名为mydatabase的数据库可以使用以下命令:mysqldump -u usernam
mysql如何备份和还原数据库
2024-04-09

MySQL如何从备份表还原数据

要从备份表还原数据,可以执行以下步骤:连接到MySQL数据库。可以使用命令行工具或者MySQL客户端连接到数据库。创建一个新的表,用于存储从备份表中还原的数据。可以使用以下命令创建新表:CREATE TABLE new_table LIKE
MySQL如何从备份表还原数据
2024-04-16

mysql数据库备份和还原

备份MySQL数据库的命令mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表
2022-05-27

Oracle数据库备份如何还原

这篇文章主要介绍了Oracle数据库备份如何还原,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。oracle 数据库提供expdp和impdp命令用于备份和恢复数据库。具体可查
2023-06-21

oracle数据库如何备份还原

oracle数据库备份可通过rman备份、导出/导入实用程序、逻辑备份(flashback)实现。还原则根据备份类型而异,包括:rman备份还原、导出/导入导出还原、逻辑备份(flashback)还原,具体还原过程涉及启动rman连接数据库
oracle数据库如何备份还原
2024-06-12

C#怎么备份及还原数据库

本篇内容介绍了“C#怎么备份及还原数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C#数据库备份及还原1.在用户的配置时,我们需要列出当
2023-06-18

编程热搜

目录