MySQL:事务,备份,恢复...

MySQL 日志及数据备份 阅读详情

什么是事务  : 

事务(TRANSACTION) : 是作为单个逻辑工作单元执行的一系列操作 .

a . 多个操作作为一个整体向系统提交,要么都执行、要么都不执行  .

b . 事务是一个不可分割的工作逻辑单元  .


事务必须具备以下四个属性,简称ACID 属性    : 

    原子性(Atomicity) : 

            事务是一个完整的操作,事务的各步操作是不可分的(原子的),要么都执行,要么都不执行

    一致性(Consistency) :

            当事务完成时,数据必须处于一致状态

    隔离性(Isolation) :

            并发事务之间彼此隔离、独立,它不应以任何方式依赖于或影响其他事务

    持久性(Durability) :

         事务完成后,它对数据库的修改被永久保持

MySQL中支持事务的存储引擎有 InnoDB  和  BDB

    开始事务    :

        语法:  BEGIN ;       或         START TRANSACTION;

    提交事务    :

        语法:  COMMIT ;

BEGIN;    #开始事务(指定事务从此处开始,后续的SQL语句都是一个整体

/*--转账:张三的账户减少500元,李四的账户增加500元--*/
UPDATE `bank` SET `currentMoney`=`currentMoney`-500
     WHERE `customerName`='张三';
UPDATE `bank` SET `currentMoney`=`currentMoney`+500
     WHERE `customerName`='李四';

COMMIT;   #提交事务,事务结果

    回滚(撤销)事务  :

        语法:    ROLLBACK ;

BEGIN;

UPDATE `bank` SET `currentMoney`=`currentMoney`-1000 WHERE `customerName`='张三';

ROLLBACK;   #回滚事务,数据恢复到原始状态

自动关闭和开启事务

     a . 默认情况下,每条单独的SQL语句视为一个事务

    b . 关闭默认提交状态后,可手动开启、关闭事务

语法 : 

        关闭自动提交状态     值为0:关闭自动提交

             SET autocommit = 0 ;             

        开启自动提交状态    值为1:开启自动提交

             SET autocommit = 1;

     注  :   有开必须的有关!!!!

SET autocommit=0;   #关闭自动 提交,以下视为一个事务

/*--转账:张三的账户减少500元,李四的账户增加500元--*/
UPDATE `bank` SET `currentMoney`=`currentMoney`-500 
     WHERE `customerName`='张三';
UPDATE `bank` SET `currentMoney`=`currentMoney`+500 
     WHERE `customerName`='李四';
     
COMMIT;    #提交事务

UPDATE `bank` SET `currentMoney`=`currentMoney`-1000 WHERE `customerName`='张三';

ROLLBACK;  #回滚事务

SET autocommit = 1;   #开启自动 提交,恢复默认状态


视   图   :

  为什么需要视图 ?

1. 不同的人员关注不同的数据

2.  保证信息的安全性

 什么是视图  ?

视图是一张虚拟表

    a.表示一张表的部分数据或多张表的综合数据

    b.其结构和数据是建立在对表的查询基础上

视图中不存放数据

    a.数据存放在视图所引用的原始表中

一个原始表,根据不同用户的不同需求,可以创建不同的视图

视图的用途  :

       a. 筛选表中的行

       b. 防止未经许可的用户访问敏感数据

        c. 降低数据库的复杂程度

          d. 将多个物理数据库抽象为一个逻辑数据库

使用SQL语句创建视图

  语法   :   CREATE VIEW    视图名字   AS  <SELECT 语句>;

使用SQL语句删除视图

   语法  :   DROP VIEW [IF EXISTS] 视图名 ;      #  [IF EXISTS]    删除前判断视图是否存在   可以不写

使用SQL语句查看视图 

   语法 :   SELECT 字段1, 字段2, …… FROM  视图名 ;

CREATE VIEW view_studebt    #创建视图
AS 
SELECT `studentName`,sub.`subjectName`,AVG(`studentResult`)
FROM `student` AS s
INNER JOIN `result` AS r ON r.`studentNo` = s.`studentNo`
INNER JOIN `subject` AS sub ON sub.`subjectNo` = r.`subjectNo`
GROUP BY `studentName`,`subjectName`;

SELECT * FROM view_studebt;   #对视图进行查询

DROP VIEW `view_namesdss`;   #对视图进行删除

使用视图注意事项  : 

        a . 视图中可以使用多个表
        b . 一个视图可以嵌套另一个视图 
        c . 对视图数据进行添加、更新和删除操作直接影响所引用表中的数据

        d . 当视图数据来自多个表时,不允许添加和删除数据

查看所有视图  : 


输出结果  :  

注 :   使用视图修改数据会有许多限制,一般在实际开发中视图仅用作查询 !!!


  索   引

什么是索引 : 

        索引是一种有效组合数据的方式,为快速查找到指定记录

作 用
       大大提高数据库的检索速度
       改善数据库性能

MySQL索引按存储类型分类
        B-树索引:InnoDB、MyISAM均支持
        哈希索引

常 用 索 引 类 型 


创 建 索 引 

语法:   CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name    # index_name  创建的索引名字

                        #unique 表示 唯一索引    fulltext 全文索引   spatial 空间索引   不添加也可以默认普通索引

           ON table_name (column_name[length]…);    

                 #   table_name   表示表名     (column_name[length]…)  字段

 例:  在student表的studentName列创建普通索引 

USE myschool;   #先打开数据库
CREATE  INDEX `index_student_studentName`      #创建的普通索引
   ON `student`(`studentName`);  

删 除 索 引 

语法:     DROP  INDEX index_name ON table_name;

          # index_name   索引名字    table_name   表名字

               注:  删除表时,该表的所有索引同时会被删除 


查 看 索 引

语法 :   SHOW INDEX FROM table_name;    # 后面接表名


表中个开头单词所代表的的意思 : 


数 据 库 备 份

        为什么进行数据库备份  

              1,防止突然断电
                2.防止病毒入侵
                 3.防止误操作导致数据丢失

                    4............(还有许多...)

使 用 mysqldump 命令备份数据库

mysqldump命令——MySQL一个常用的备份工具

        将CREATE和INSERT INTO语句保存到文本文件

        属于DOS命令



                      #mysqldump 命令   用户名  密码    数据库    表                     地址



使用mysqldump命令备份数据库常用参数选项


备份文件包含的主要信息  : 

    备份后文件包含信息MySQL及mysqldump工具版本号

    备份账户的名称

    主机信息

    备份的数据库名称

    SQL语句注释和服务器相关注释

    CREATE和INSERT语句


恢 复 数 据 库 

是一种 : 




第二种 :    使用source命令恢复数据库

        语法  :   source filename;   #后面接的是备份地址

注  :  登录MySQL服务后使用

        执行该命令前,先创建并选择恢复后的目标数据库



表数据导出到文本文件

            导出数据——可实现数据库服务器间移动数据

语法:   SELECT  *  FROM tablename 
          [WHERE contion]

         INTO OUTFILE 'filename' [OPTION]


            导入数据——可实现数据库服务器间移动数据    

语法:   LOAD DATA INFILE filename INTO TABLE tablename [OPTION]




MySQL中恢复被误删除表数据的方法详解 在MySQL中,当发生误删除表数据的情况时,我们可以采取多种方法来恢复数据。当我们使用事务进行数据操作时,可以通过执行ROLLBACK语句来撤销之前的操作,包括误删除的数据。需要注意的是,使用回滚日志恢复数据可能会导致其他修改操作的回滚,因此在执行恢复操作之前,务必确认回滚的范围和影响。如果我们定期进行数据库备份,并且在误删除数据之前有可用的备份文件,那么可以通过恢复备份文件来恢复被误删除的表数据。需要注意的是,使用备份恢复数据将会覆盖当前数据库中的数据,并且可能会导致其他未被删除的数据丢失。 阅读详情

相关推荐

QGIS:安装Deepness插件+应用

简单的描述了deepness的安装应用历程,重点是记录博主本次遇到的坑

fengyi157的博客 2339

MySQL的日志管理,备份及恢复

mysqlbinlog --no-defaults --base64-output=decode-rows -v /opt/mysql-bin.000005 #查看二进制日志文件。##慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的。mysqldump -u root -p[密码] --all-databases > /备份路径/备份文件名.sql。

小小byg 1907

一步一步实现基于COMSOL的单模光纤波导仿真

一步一步实现基于COMSOL的单模光纤波导仿真,简单易懂,跟着博客就能实现

君莫笑lucky的博客 1万+

MySQL日志管理和数据备份

MySQL日志管理和数据备份

guyunbingyb的博客 810

麒麟V10系统下CoreDump文件自动归档与快速定位指南(附coredumpctl实战)

本文详细介绍了在麒麟V10操作系统下,如何利用systemd-coredump机制和coredumpctl工具实现CoreDump文件的自动化管理与高效调试。内容涵盖从系统架构解析、自动化配置策略,到使用coredumpctl进行快速查询、过滤与深度分析的实战指南,旨在帮助运维人员和开发者快速定位系统崩溃的根本原因,提升问题排查效率。

gg901的博客 223

把慢点掰开看:在 SAP HANA 中启用 SQL 优化耗时跟踪 SqlOptTime 的实战指南

摘要:SAP HANA 性能排查中,常出现SQL查询时快时慢的现象,表面看似执行问题,实则是编译阶段耗时过长。通过SQL优化跟踪工具SqlOptStep和SqlOptTime,可精准区分编译与执行时间。SqlOptStep展示优化树变化过程,而SqlOptTime则记录各阶段耗时,帮助定位问题根源。启用SqlOptTime需配置traceprofile,建议限定特定用户以减少系统负载。实际案例显示,报表响应慢常由计算视图编译(CeQo)导致,而非执行阶段问题。解决方案包括调整计算视图展开方式或优化基础视图结

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1013

mysql常用的三种备份方法

支持InnoDB的物理热备份,支持完全备份,增量备份,而且速度非常快,而且支持InnoDB引擎的数据在不同数据库迁移 为了让xtrabackup支持更多的功能扩展,配置InnoDB每表一个文件的功能 在my.cnf的mysqld中加入此项: innodb_file_per_table=1 此项不启用将不支持备份单独的表 但如果之前没有启用这个选项,要实现单表一文件的话,可以用mysqldump导出数据,然后启用该选项,恢复回去后就是单表一文件了 首先下载xtrabackup。

2301_76571514的博客 4737

选型不再靠感觉:一文看懂 SAP Event Mesh 与 SAP Integration Suite, advanced event mesh 的能力边界

本文对比分析了SAP Event Mesh与SAP Integration Suite, advanced event mesh的差异。SAP Event Mesh适合轻量级场景,主要用于SAP系统间异步通信,支持AMQP、MQTT等协议,消息大小限制为1MB。而advanced event mesh面向企业级事件网络,提供跨云/本地部署、事件治理、监控等高级功能,支持30MB消息和更大存储容量。选择时需考虑业务规模、实时性要求、治理需求等因素:单一SAP生态内扩展可选Event Mesh;跨区域、多云环境

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 135

MySQL8.0高级篇(下)-事务与日志和备份

SHOW ENGINES`命令来查看当前 MySQL 支持的存储引擎都有哪些,以及这些存储引擎是否支持事务**事务:**一组逻辑操作单元,使数据从一种状态变换到另一种状态。**事务处理的原则:**保证所有事务都作为 一个工作单元 来执行,即使出现了故障,都不能改变这种执行方 式。当在一个事务中执行多个操作时,要么所有的事务都被提交( commit ),那么这些修改就 永久 地保 存下来;要么数据库管理系统将 放弃 所作的所有 修改 ,整个事务回滚( rollback )到最初状态。more。

Shawn的个人博客 2230

复现论文《Analysis of circulating current mechanism of Grid-forming offshore wind farm based on DRU-HVDC》

该论文研究了基于二极管整流单元(DRU)和低频交流(LFAC)输电的构网型(GFM)海上风电场并网系统中环流的产生机理。由于 DRU 不可控,系统电压与频率依赖于风力发电机(WT)的网侧变流器,当多台 WT 并联运行时,因输出电压幅值、相位、输出阻抗或频率不匹配,会产生基频环流,导致系统损耗增加与稳定性下降。论文通过理论建模与 MATLAB/Simulink 仿真,分析了四种不平衡工况下的环流机理,并指出幅值不平衡和阻抗不平衡引起无功环流,相位不平衡引起有功环流,频率不平衡则引起环流振荡,为后续环流抑制研究

huanghm88的专栏 106

手把手教你使用 YOLOv11/v8 算法 + PaddleOCR 算法完成车牌检测和车牌识别系统,AI智能体,毛玻璃系统,包括PaddlePaddle安装、数据集预处理、模型训练、AI大模型应用等

手把手教你使用 YOLOv11/v8算法 + PaddleOCR算法完成车牌检测和车牌识别系统,AI智能体,毛玻璃系统,包括PaddlePaddle安装、数据集预处理、模型训练、AI大模型应用等。车牌识别系统支持 蓝牌、绿牌、黄牌、双层车牌等车牌识别。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2788

MySQL入门:事务、索引、备份和恢复

一、使用事务 1.什么是事务 事务(transaction)是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有命令作为一个整体一起向系统提交或撤销操作请求。事务是一个不可分割的工作逻辑单元。 事务是指将一系列数据操作捆绑成为一个整体进行统一管理。若是某一事务执行成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分,若是事务执行遇到错误而且必须取消或回滚,则数据将全部恢复到操作前的状态,所有数据的更改均会删除。 比方说转账问题,张三想把某一银行卡里的余额转给李四,那

qq_52695495的博客 1035

手把手教你学Simulink--基础电机控制场景实例:基于Simulink的无刷直流电机六步换相仿真

摘要:本文详细介绍了基于Simulink的无刷直流电机(BLDC)六步换相仿真方法。文章首先阐述了BLDC六步换相控制的原理,包括霍尔传感器定位、六步换相逻辑和方波电流驱动三大支柱。然后通过电动工具(角磨机)应用场景,展示了如何在Simulink中搭建完整的六步换相系统:从主电路构建、霍尔信号生成、Stateflow换相逻辑实现到开环电压控制。仿真结果显示该系统具有低成本优势(仅需霍尔传感器),但存在±20%转矩脉动。文章还提供了核心代码实现,包括霍尔信号生成、六步换相状态机和转矩分析脚本,并对比了六步换相

MHD0815的博客 149

MySQL核心基础实战:事务、连接查询与备份恢复全解析

在数据库开发与运维中,事务管理与SQL查询优化是保障数据一致性和系统性能的基石。事务通过ACID特性确保操作原子性和隔离性,而InnoDB的MVCC机制则在可重复读级别下有效避免幻读,这是高并发场景下防止超卖、错账等事故的关键。连接查询、联合查询与子查询是SQL进阶的核心技能,理解驱动表、结果集基数以及ON与WHERE的执行时机,能避免数据膨胀和慢查询。数据备份与恢复是数据库管理最后一道防线,掌握mysqldump逻辑备份、binlog增量恢复及定期恢复演练,才能真正做到有备无患。本文结合线上实战案例,系统

weixin_33393017的博客 343

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

day29:mysql事务,索引,视图,备份恢复,pymysql

mysql事务,索引,视图,备份恢复,pymysql事务授权管理创建用户删除用户修改密码索引视图数据库备份与恢复pymysql操作数据库 事务 事务把⼀组操作看做⼀个整体,要不都操作成功,要不都操作失败。(ACID) 表的数据库引擎必须是innodb,innodb⽀持事物,myisam不⽀持事务 修改表引擎:alter table 表名engine = innodb # 查询是否为⾃动提交 s...

lailjx123的博客 202

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

MySQL零基础入门到进阶:从建库建表到索引事务与备份恢复

关系型数据库以二维表结构组织数据,MySQL 是其中最常用的代表之一,通过 SQL 语言实现结构化存储与灵活查询。理解服务端与客户端的工作方式、表字段约束和字符集选择,是搭建可靠数据库的基础。在实际业务开发中,索引能显著提升查询效率,事务则保证多步操作的原子性与数据一致性,而定期备份与恢复演练是数据安全的关键保障。从建库建表、增删改查,到聚合统计、索引优化、事务处理和常见报错排查,这条由浅入深的学习路径能帮助零基础者快速掌握 MySQL 的核心实践,并应用于用户、订单等典型数据场景。

weixin_33483304的博客 339

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

MySQL高级功能:存储过程、触发器、事务、备份和恢复

触发器是一种特殊类型的存储过程,它们在数据库中的表上进行操作,并在特定的事件发生时自动触发。存储过程和触发器可以提高数据库的性能和安全性,事务可以确保数据的一致性和完整性,备份和恢复可以确保数据库在意外故障或意外删除时得到恢复。MySQL是一款广泛使用的关系型数据库管理系统,它不仅具有基本的数据库功能,还支持一些高级功能,如存储过程、触发器、事务、备份和恢复等。备份和恢复是数据库管理中非常重要的任务,它们可以确保数据库中的数据在意外故障或意外删除时得到恢复。可以使用该脚本来恢复数据库。

洛阳泰山的博客 2659

MySQL核心技能串讲:从SQL查询到事务与备份恢复的实战指南

数据库优化是后端开发绕不开的核心能力,而SQL查询性能又与索引设计、连接策略息息相关。理解事务隔离级别、JOIN与子查询的执行原理,能帮助开发者从根源上规避脏读、慢查询与死锁问题。备份恢复作为数据安全的最后防线,更是生产环境必备的工程实践。本文从MySQL的基础查询机制切入,依次解析事务ACID特性与锁竞争、连接查询与联合查询的适用场景、子查询的优化手段,以及基于mysqldump和binlog的完整恢复链路,最终回归到日常开发中如何用EXPLAIN分析执行计划、如何设计高可用的备份策略。内容兼顾技术科普与

weixin_29200485的博客 224

mysql第五章上机事务_java MySQL数据库编程 第五章:事务,视图,索引,备份和恢复...

第五章:事务,视图,索引,备份和恢复1.事务是指将一系列数据操作捆绑成为一个整体进行统一管理.一、事务语法:1.开始事务语法: BEGIN 或 START TRAINSACTION;2.提交事务:执行的所有数据更新将永久地保存在数据库数据文件中语法: COMMIT;3.回滚事务:将数据状态回滚到事务开始前语法: ROLLBACK;4.设置自动提交开或关MySQL中默认开始自动提交模式关:值0: ...

weixin_32593879的博客 569

MySQL 高级实战:触发器、事务与数据库备份恢复全攻略

备份是预防数据丢失的关键,恢复是数据丢失后的补救措施,实验涵盖完整备份、增量备份、表导入导出等核心操作。触发器命名唯一:同一数据库中触发器名称不能重复避免复杂逻辑:触发器中不宜写过多 SQL,否则会降低数据操作效率关键字使用:OLD(获取修改 / 删除前的数据)、NEW(获取插入 / 修改后的数据)仅在触发器中可用禁用场景:高并发写入场景尽量少用触发器,可能引发性能瓶颈。

m0_71868960的博客 1146

MySQL: 存储引擎选择策略:基于事务支持、备份需求、崩溃恢复及特性兼容性的综合指南

MySQL存储引擎选型需优先考虑事务支持、备份策略和恢复效率。InnoDB是默认首选,提供ACID事务、行级锁和高效崩溃恢复,适合大多数OLTP场景。若无需事务,MyISAM适用于读密集型应用,Archive引擎更适合高频写入。备份需支持热备时仅InnoDB有免费方案。必须避免混合引擎,否则会导致事务不一致和备份阻塞风险。地理空间搜索在MySQL 5.7+可由InnoDB原生支持。最终决策应以InnoDB为主,仅在特定需求无法满足时才考虑其他引擎。

Wang的专栏 1297

java MySQL数据库编程 第五章:事务,视图,索引,备份和恢复

第五章:事务,视图,索引,备份和恢复 1.事务是指将一系列数据操作捆绑成为一个整体进行统一管理. 一、事务语法: 1.开始事务 语法: BEGIN 或 START TRAINSACTION; 2.提交事务:执行的所有数据更新将永久地保存在数据库数据文件中 语法: COMMIT; 3.回滚事务:将数据状态回滚到事务开始前 语法: ROLLBA...

weixin_30853329的博客 344

mysql第五章事务_java MySQL数据库编程 第五章:事务,视图,索引,备份和恢复

第五章:事务,视图,索引,备份和恢复1.事务是指将一系列数据操作捆绑成为一个整体进行统一管理.一、事务语法:1.开始事务语法: BEGIN 或 START TRAINSACTION;2.提交事务:执行的所有数据更新将永久地保存在数据库数据文件中语法: COMMIT;3.回滚事务:将数据状态回滚到事务开始前语法: ROLLBACK;4.设置自动提交开或关MySQL中默认开始自动提交模式关:值0: ...

weixin_33863049的博客 306

事务、数据备份与恢复

事务的特性:原子性;一致性;隔离性;持久性

饭饭童鞋的博客 1021

MySQL事务回滚与数据恢复实战指南

数据库事务是确保数据一致性的核心技术,其核心特性ACID中的原子性(Atomicity)正是通过事务回滚机制实现。当SQL执行失败时,MySQL会利用undo日志自动回滚未提交的事务操作。对于已提交的事务,则需要依赖binlog日志或备份文件进行数据恢复。在数据库运维中,事务回滚与数据恢复是保障业务连续性的关键技术,特别是在金融交易、订单系统等对数据一致性要求严格的场景。通过配置binlog日志、建立定期备份策略,以及使用延迟复制从库等方案,可以有效应对误删数据、错误更新等生产事故。本文详细介绍MySQL标

weixin_34408717的博客 338
上一篇: MySQL:加深认识
下一篇: Python中MySQL操作--模块pymysql
Hao_python
博客等级 码龄9年 5粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值