mysql之备份和导入数据(包括二进制日志)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
日志服务 SLS,月写入数据量 50GB 1个月
简介: mysql之备份和导入数据(包括二进制日志)

前言:今天早上在写博客时,思索再三,没有更好的头绪,就想起了以前在操作mysql的时候,经常要用的一些命令,下面就来简单介绍一下

备份数据:

C:\Users\xxxx>mysqldump -uxxx -pxxx backup > backup.sql

C:\Users\xxxx>
mysqldump :mysql用于存储数据库的应用程序,会产生一个sql文件,如上文的backup.sql,其中包含了数据库的create、insert into等语句。

随后我们使用dir命令查看一下C:\Users\xxxx>目录的文件列表,可以看到

2014/08/23 10:15 1,271 backup.sql
恢复数据:

mysql> use backup;
Database changed
mysql> source C:\Users\xxxx\backup.sql
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.03 sec)
使用mysql命令进入到mysql命令行,使用use backup切换数据库,然后使用source命令进行数据的恢复。

以上source命令在处理mysql的大量数据恢复时,速度还是比较可观的。

但是我们在真实的项目当中,经常需要用到二进制日志,那么下面我们来做一个二进制的日志备份操作

首先:我们查看一下mysql二进制日志是否开启

mysql> show variables like 'log_bin';
Variable_name Value
log_bin OFF

1 row in set (0.14 sec)

第二步:我们开启二进制日志(在Windows的mysql安装目录中的my.ini文件中增加以下内容,确保你的f盘有mysqlbin目录)

add log-bin

log-bin=f:/mysqlbin/binlog.log

set the database for test

binlog-do-db=backup

第三步:我们重启一下mysql

C:\Users\xxxx>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。

C:\Users\xxxx>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
第四步:再次查看log_bin是否开启

mysql> show variables like 'log_bin';
Variable_name Value
log_bin ON

1 row in set (0.00 sec)

第五步:对backup数据库进行一下操作,假如已经存在

mysql> show columns from binlog;
Field Type Null Key Default Extra
id int(11) YES NULL

1 row in set (0.08 sec)

mysql>
我们插入一条数据

mysql> insert into binlog values (2);
Query OK, 1 row affected (0.01 sec)

mysql> select * from binlog;
id
1
2

2 rows in set (0.00 sec)

mysql>

第六步:我们查看一下二进制日志目录

F:\mysqlbin>dir
驱动器 F 中的卷是 F:
卷的序列号是 000C-A0EB

F:\mysqlbin 的目录

2014/08/23 11:02

.
2014/08/23 11:02 ..
2014/08/23 11:02 126 binlog.000001
2014/08/23 11:02 107 binlog.000002
2014/08/23 11:02 52 binlog.index
           3 个文件            285 字节
           2 个目录 117,389,742,080 可用字节

第七步:我们再使用mysqlbinlog查看一下,内容比较多,上下使用了...空过,可以看到"insert into binlog values (2)"为我们刚刚操作的内容

F:\mysqlbin>mysqlbinlog binlog.000002
...
use backup/!/;
SET TIMESTAMP=1408763281/!/;
insert into binlog values (2)
/!/;

at 271

140823 11:08:01 server id 1 end_log_pos 298 Xid = 9

...

那么我们再次回去标题讲的二进制日志恢复和备份,备份就如前文所讲,那么就再来说说二进制的恢复

第一种:使用source命令,二进制日志是不能直接通过source命令来恢复,那么我们需要按照以下步骤来进行

第一步:先将二进制日志转换成普通sql文件

F:\mysqlbin>mysqlbinlog -uxxx -pxxx binlog.000001 > binlog1.sql

F:\mysqlbin>mysqlbinlog -uxxx -pxxx binlog.000002 > binlog2.sql

F:\mysqlbin>dir
驱动器 F 中的卷是 F:
卷的序列号是 000C-A0EB

F:\mysqlbin 的目录

2014/08/23 11:22

.
2014/08/23 11:22 ..
2014/08/23 11:02 126 binlog.000001
2014/08/23 11:08 298 binlog.000002
2014/08/23 11:02 52 binlog.index
2014/08/23 11:22 644 binlog1.sql
2014/08/23 11:22 1,569 binlog2.sql
           5 个文件          2,689 字节
           2 个目录 117,389,737,984 可用字节

第二步:新建一个sql文件,里面输入以下内容

source F:\mysqlbin\binlog1.sql
source F:\mysqlbin\binlog2.sql

第三步:导入以上的sql文件

mysql> source C:\Users\xxx\backup.sql
Query OK, 0 rows affected (0.00 sec)

第二种方法,使用mysqlbinlog

F:\mysqlbin>mysqlbinlog binlog.000001 | mysql -uroot -proot

F:\mysqlbin>mysqlbinlog binlog.000002 | mysql -uroot -proot

最后:这些简单的,常用的命令,以及使用方式都是非常值得总结的。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
存储 关系型数据库 MySQL
mysql数据库备份与恢复
MySQL数据库的备份与恢复是确保数据安全性和业务连续性的关键操作。
24 4
|
29天前
|
SQL 人工智能 运维
在阿里云日志服务轻松落地您的AI模型服务——让您的数据更容易产生洞见和实现价值
您有大量的数据,数据的存储和管理消耗您大量的成本,您知道这些数据隐藏着巨大的价值,但是您总觉得还没有把数据的价值变现出来,对吗?来吧,我们用一系列的案例帮您轻松落地AI模型服务,实现数据价值的变现......
132 3
|
2月前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
68 0
|
2月前
|
C# Windows 监控
WPF应用跨界成长秘籍:深度揭秘如何与Windows服务完美交互,扩展功能无界限!
【8月更文挑战第31天】WPF(Windows Presentation Foundation)是 .NET 框架下的图形界面技术,具有丰富的界面设计和灵活的客户端功能。在某些场景下,WPF 应用需与 Windows 服务交互以实现后台任务处理、系统监控等功能。本文探讨了两者交互的方法,并通过示例代码展示了如何扩展 WPF 应用的功能。首先介绍了 Windows 服务的基础知识,然后阐述了创建 Windows 服务、设计通信接口及 WPF 客户端调用服务的具体步骤。通过合理的交互设计,WPF 应用可获得更强的后台处理能力和系统级操作权限,提升应用的整体性能。
65 0
|
2月前
|
数据库 Java 监控
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
38 0
|
2月前
|
开发者 前端开发 编解码
Vaadin解锁移动适配新境界:一招制胜,让你的应用征服所有屏幕!
【8月更文挑战第31天】在移动互联网时代,跨平台应用开发备受青睐。作为一款基于Java的Web应用框架,Vaadin凭借其组件化设计和强大的服务器端渲染能力,助力开发者轻松构建多设备适应的Web应用。本文探讨Vaadin与移动设备的适配策略,包括响应式布局、CSS媒体查询、TouchKit插件及服务器端优化,帮助开发者打造美观且实用的移动端体验。通过这些工具和策略的应用,可有效应对屏幕尺寸、分辨率及操作系统的多样性挑战,满足广大移动用户的使用需求。
35 0
|
2月前
|
存储 运维 监控
Entity Framework Core 实现审计日志记录超棒!多种方法助你跟踪数据变化、监控操作,超实用!
【8月更文挑战第31天】在软件开发中,审计日志记录对于跟踪数据变化、监控用户操作及故障排查至关重要。Entity Framework Core (EF Core) 作为强大的对象关系映射框架,提供了多种实现审计日志记录的方法。例如,可以使用 EF Core 的拦截器在数据库操作前后执行自定义逻辑,记录操作类型、时间和执行用户等信息。此外,也可通过在实体类中添加审计属性(如 `CreatedBy`、`CreatedDate` 等),并在保存实体时更新这些属性来记录审计信息。这两种方法都能有效帮助我们追踪数据变更并满足合规性和安全性需求。
22 0
|
2月前
|
SQL 安全 测试技术
【数据守护者必备】SQL数据备份与恢复策略全解析:从全量到日志备份,手把手教你确保企业信息万无一失的实战技巧!
【8月更文挑战第31天】数据库是企业核心业务数据的基石,为防止硬件故障、软件错误或人为失误导致的数据丢失,制定可靠的备份与恢复策略至关重要。本文通过一个在线购物平台的案例,详细介绍了使用 SQL Server 进行全量备份、差异备份及事务日志备份的方法,并演示了如何利用 SQL Server Agent 实现自动化备份任务。此外,还提供了数据恢复的具体步骤和测试建议,确保数据安全与业务连续性。
48 0
|
2月前
|
存储 关系型数据库 MySQL
深入MySQL:事务日志redo log详解与实践
【8月更文挑战第24天】在MySQL的InnoDB存储引擎中,为确保事务的持久性和数据一致性,采用了redo log(重做日志)机制。redo log记录了所有数据修改,在系统崩溃后可通过它恢复未完成的事务。它由内存中的redo log buffer和磁盘上的redo log file组成。事务修改先写入buffer,再异步刷新至磁盘,最后提交事务。若系统崩溃,InnoDB通过redo log重放已提交事务并利用undo log回滚未提交事务,确保数据完整。理解redo log工作流程有助于优化数据库性能和确保数据安全。
214 0
|
2月前
|
存储 SQL 关系型数据库
MySQL事务日志奥秘:undo log大揭秘,一文让你彻底解锁!
【8月更文挑战第24天】本文深入探讨了MySQL中undo log的关键作用及其在确保事务原子性和一致性方面的机制。MySQL通过记录事务前的数据状态,在需要时能回滚至初始状态。主要介绍InnoDB存储引擎下的undo log实现,包括undo segment和record的结构,而MyISAM则采用redo log保障持久性而非一致性。通过一个简单的SQL回滚示例,展示了undo log如何在实际操作中发挥作用,帮助读者更好地理解并运用MySQL事务管理功能。
142 0
下一篇
无影云桌面