当前位置: 首页 > news >正文

直播做网站网页设计与制作教程 机械工业出版社

直播做网站,网页设计与制作教程 机械工业出版社,模拟wordpress,新网网站空间到期停了 咋续费目录 一、锁概述 二、全局锁概念 三、全局锁使用 四、全局锁特点 五、不加锁一致性数据备份 5.1. 实现方式 5.2. 优点和缺点 一、锁概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O&#x…

目录

一、锁概述

二、全局锁概念

三、全局锁使用

四、全局锁特点

五、不加锁一致性数据备份

5.1. 实现方式

5.2. 优点和缺点


一、锁概述

锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。

MySQL中的锁,按照锁的粒度分,分为以下三类:

全局锁:锁定数据库中的所有表。

表级锁:每次操作锁住整张表。

行级锁:每次操作锁住对应的行数据。

二、全局锁概念

全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语句,已经更新操作的事务提交语句都将被阻塞。其典型的使用场景是做全库的逻辑备份,对所有的表进行锁定,从而获取一致性视图,保证数据的完整性。

为什么全库逻辑备份,就需要加全就锁呢?

A. 我们一起先来分析一下不加全局锁,可能存在的问题。

假设在数据库中存在这样三张表: tb_stock 库存表,tb_order 订单表,tb_orderlog 订单日志表。

1. 在进行数据备份时,先备份了tb_stock库存表。

2. 然后接下来,在业务系统中,执行了下单操作,扣减库存,生成订单(更新tb_stock表,插入tb_order表)。

3. 然后再执行备份 tb_order表的逻辑。

4. 业务中执行插入订单日志操作。

5. 最后,又备份了tb_orderlog表。

此时备份出来的数据,是存在问题的。因为备份出来的数据,tb_stock表与tb_order表的数据不一 致(有最新操作的订单信息,但是库存数没减)

那如何来规避这种问题呢? 此时就可以借助于MySQL的全局锁来解决。

B. 再来分析一下加了全局锁后的情况

对数据库进行进行逻辑备份之前,先对整个数据库加上全局锁,一旦加了全局锁之后,其他的DDL、DML全部都处于阻塞状态,但是可以执行DQL语句,也就是处于只读状态,而数据备份就是查询操作。那么数据在进行逻辑备份的过程中,数据库中的数据就是不会发生变化的,这样就保证了数据的一致性和完整性。

三、全局锁使用

在数据备份操作的前后,执行价锁和释放锁的操作。

1. 加全局锁

flush tables with read lock; 

2. 数据备份

mysqldump -uroot –p1234 wzx > wzx.sql

数据备份的相关指令, 在后续章节, 还会详细讲解。

3. 释放锁

unlock tables;

四、全局锁特点

数据库中加全局锁,是一个比较重的操作,存在以下问题:

1. 如果在主库上备份,那么在备份期间都不能执行更新,业务基本上就得停摆。

2. 如果在从库上备份,那么在备份期间从库不能执行主库同步过来的二进制日志(binlog),会导

致主从延迟。

3. 在InnoDB引擎中,我们可以在备份时加上参数 --single-transaction 参数来完成不加锁的一致

性数据备份。

mysqldump --single-transaction -uroot –p123456 wzx > wzx.sql

五、不加锁一致性数据备份

MySQL不加锁的一致性数据备份‌是指在备份过程中不通过加锁数据库的方式,而是通过其他机制来确保备份数据的一致性。这种备份方式可以在不中断数据库服务的情况下进行,特别适用于高并发环境。

5.1. 实现方式

MySQL的mysqldump工具提供了一个--single-transaction选项,可以在备份时创建一个事务快照,从而在不加锁的情况下进行一致性备份。具体步骤如下:

  1. 启动事务‌:在备份开始时,mysqldump会启动一个事务并创建一个快照。
  2. 设置隔离级别‌:通常将隔离级别设置为“可重复读”,以确保在备份期间数据的一致性。
  3. 导出数据‌:在事务中导出数据,确保数据的完整性。
  4. 提交事务‌:完成数据导出后提交事务,确保备份的数据是一致的。

5.2. 优点和缺点

优点‌:

  • 高并发性能‌:可以在不阻止其他读写操作的情况下进行备份,不影响正常业务。
  • 减少应用程序停顿‌:适合在线业务,无需因备份而影响用户体验。

缺点‌:

  • 数据一致性‌:如果在备份期间有数据修改,可能导致数据快照在恢复时不一致。这在金融、医疗等不允许数据不一致的场景中可能造成问题。
  • 备份时间‌:如果数据量非常庞大,备份可能会需要较长时间,可能会影响性能。
http://www.yayakq.cn/news/720179/

相关文章:

  • 福建得兴建设工程网站whois 查询系统
  • 沈阳网站制作思路网络做网站php都用什么框架
  • 网站建设的app store免费下载
  • 网站会员后台管理系统广州地产网站设计
  • 成都动力无限 网站 差wordpress 查看原图
  • 网站开发石家庄网络游戏带来的危害
  • 公司网络推广网站北京seo课程
  • 重庆建网站流程上海软件app开发流程
  • 上海市建设安全协会 - 网站首页八爪鱼 wordpress
  • 收废品做网站绵阳 网站开发
  • 专门做签到的网站模板网站一天建好
  • 外包网站建设公司wordpress 继续阅读
  • 济宁网站建设公司怎么样国外云服务器厂商
  • 国内最大的网站制作公司wordpress升级
  • 安阳淘宝网站建设网站最近不收录
  • 网站域名年龄中国建设领域专业人员网站
  • 做英文网站 赚美元免费的黄台app下载
  • 沈阳网站建设服务器驻马店 网站建设
  • 网站数据怎么备份vs做网站怎样加数据库
  • 网站建设常规自适应旅游网站功能简介
  • 福州免费企业网站建站yandex俄语网站建设
  • 淄博比较好的网站建设公司品牌网站建设要多少钱
  • wordpress 中英文网站做动漫短视频网站
  • 个人网站建站教程优质网站建设公司哪家好
  • 自己怎么做优惠搜网站装饰工程有限公司的经营范围
  • 安卓下载app优化师是做什么的
  • 广州专业的网站建设公司排名物联网 网站开发
  • 前端和网站部署做网站的企业淘宝网站备案
  • 陕西示范校建设专题网站嵌入式开发工程师是干嘛的
  • 网上做网站网站吗网站建设的项目方案模板