`
l4432848
  • 浏览: 254285 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

-mysql-锁

阅读更多

数据库自动带锁,insert,update,delete(排他锁) 注意,这个表格的引擎需要为Innodb的 在mysql中做事物的实验,记住要设置为手动式提交事物 Set autocommit=0;

image

排他锁,在select语句最后就加上for update Select * from student where uid=1 for update 共享锁,在语句最后加上lock in share mode Select * from user where uid=1 lock in share mode

共享锁可以向一条记录加入多个共享锁,但是要转成排他锁的话,需要等待其他的共享锁松开,后面继续续又其他事物排他锁加入,mysql会自动拒绝

实验操作

两个访问分别都设置为了手动事物,一个事物操作插入数据,然后另一个查询,会发现插入的数据没有出现在数据库中。

image

当我们提交后,添加的数据才显示在数据库中。

image

当我们回滚后,前面添加的SQL语句则无效

image

人为加排他锁,别人只能查询数据而不能修改数据,如果加锁对象还未提交或回滚,修改数据将会超时。

image

只有等加锁对象提交或者回滚,别的对象才能对数据进行修改;

image

但是因为我们给select添加的是行级排他锁,所以别人不可以修改我们所添加锁的行,但是没有加锁的行,别人是可以修改的。

image

死锁的样式

image

利用事物和锁,做一个购票系统

image

image

image

image

0
0
分享到:
评论

相关推荐

    windows版mysql安装包-mysql5-mysql-5.5.zip

    - **InnoDB性能提升**: 包括更快的插入速度,更高的并发处理能力,以及更少的锁冲突。 - **FEDERATED存储引擎**: 支持远程数据库链接,实现跨服务器的数据集成。 - **分区功能增强**: 支持更多的分区策略,提高...

    A001-MySQL安装、MySQL优化、innodb 锁问题监控处理、MySQL binlog日志、MySQL 基础

    A003-innodb 锁问题监控处理 A004-MySQL binlog日志 A005-MySQL 基础 A006-SQL语法 A007-MySQL 修改密码 特点和功能: 开源性: MySQL是开源软件,可以免费获取和使用。它的开放性质使得它受到了广泛的...

    mysql-server-mysql-8.3.0.tar.gz

    2. **InnoDB存储引擎优化**:InnoDB是MySQL默认的事务处理引擎,8.3.0版本可能会进一步优化其性能,包括更快的索引构建、更高效的锁机制以及更好的内存管理。 3. **窗口函数**:这是MySQL 8.0引入的新特性,允许在...

    mysql-server-mysql-5.7.36.tar.gz

    4. **增强的性能监控**:通过Performance Schema,用户可以更深入地了解数据库的运行情况,包括锁、线程、内存使用等,从而进行更有效的性能调优。 5. **柱状图索引(CTE)**:引入了Common Table Expressions(CTE...

    Linux-Mysql主从同步配置

    Linux-Mysql 主从同步配置 本文将详细解释 Linux-Mysql 主从同步配置的步骤和知识点。 一、主服务器配置 1. 编辑数据库配置文件 my.cnf, 一般在/etc/目录下。 2. 在[mysqld]下面加入以下代码: * log-bin=mysql...

    分布式锁实现(基于redis-mysql)1

    本文主要探讨了三种常见的分布式锁实现方式,包括基于Redis、MySQL以及Zookeeper的实现方法。 **基于Redis实现分布式锁** Redis是一个内存数据库,其命令执行是单线程的,这使得它非常适合用来实现分布式锁。Redis...

    shiro-freemarker-springBoot- redis-mysql

    此外,Redis还可以用于实现分布式锁,提高多线程环境下的并发处理能力。 **MySQL** MySQL是一个广泛使用的开源关系型数据库管理系统。在本项目中,MySQL主要负责持久化存储数据,如用户账户信息、权限角色等。...

    项目9--MySQL数据库中的事务机制与锁机制.pptx

    项目9--MySQL数据库中的事务机制与锁机制.pptx

    go-mysql-lock:MySQL支持的锁定基元

    去mysql锁 go-mysql-lock提供基于MySQL的锁定原语锁定名称是字符串,MySQL对64个字符的锁定名称强制使用最大长度。 用例 尽管Zookeeper和etcd等系统提供了成熟的锁定原语,但是当您拥有一个主要依赖MySQL的正常运行...

    cacti-mysql-template指标解释

    ### cacti-mysql-template指标解释 在IT运维与数据库管理领域中,使用Cacti进行MySQL服务器的监控是一项常见的需求。Cacti是一款开源网络监控系统,它能够通过多种方式收集数据并生成图表,帮助管理员更好地理解...

    cacti-mysql-template指标解释.pdf

    ### cacti-mysql-template指标解释 #### 概述 本文档主要介绍cacti-mysql-template中的各项指标,该模板旨在为Cacti监控工具提供MySQL性能指标的图形化展示。通过这些图表,可以更好地理解和监控MySQL服务器的运行...

    mysql高性能---mysql数据库的性能调优

    5. **并发控制**:通过调整线程池大小、事务隔离级别等参数,可以平衡并发处理能力和资源消耗,避免过多的锁等待和死锁。 6. **分区与分表**:对于大数据量的表,可以采用分区或分表策略,将数据分散到多个物理存储...

    High-Performance-MySQL指导手册

    5. **并发控制**:介绍并发访问下的锁机制,包括表锁、行锁、读写锁,以及死锁检测和解决策略。 6. **复制与高可用性**:MySQL的主从复制是实现高可用性和数据备份的重要手段,书中详细讲解了复制的工作原理、配置...

    grafana-dashboard-mysql-redis-web.zip

    MySQL Dashboard在Grafana中提供了一整套可视化图表,帮助管理员监测数据库的运行状态,包括但不限于查询性能、连接状态、慢查询、磁盘使用情况、InnoDB引擎的锁等待等。通过这些图表,可以快速定位并解决数据库性能...

    mysql面试题-mysql经典面试题目-数据库的基本概念-SQL语法-事务处理-索引优化-性能调优-mysql-面试题目

    数据库锁用于并发控制,常见的锁类型有读锁(共享锁)和写锁(排他锁),还有行级锁、页级锁和表级锁等,适用于不同级别的并发场景。 数据库复制是实现高可用性和故障恢复的重要手段,主从复制允许数据从主服务器...

    2022-MYSQL-数据库-运维知识

    - 学习如何阅读错误日志,识别常见问题如锁等待、内存溢出等。 - 使用`SHOW PROCESSLIST`检查当前运行的进程,定位阻塞查询。 8. **性能调优**: - 优化查询语句,避免全表扫描,合理使用JOIN和子查询。 - 调整...

    Linux-MySQL-ConnectionPool-C.zip

    这可能需要使用互斥锁(mutexes)或其他同步机制来防止数据竞争。 3. **连接管理**:连接池需要管理连接的生命周期,包括初始化、分配、回收和释放。在创建连接池时,可以设置一个最小和最大连接数限制,以平衡资源...

    MySQL锁类型以及子查询锁表问题、解锁1

    MySQL中的锁机制是数据库并发控制的关键部分,它确保了在多用户环境中数据的一致性和完整性。在MySQL中,主要存在两种类型的锁:行级锁(Row-Level Locks)和表级锁(Table-Level Locks)。InnoDB存储引擎默认支持...

    携程 姜宇祥-MySQL源码开发实践

    4. **并发控制与锁机制**:分析MySQL的并发控制机制,如多版本并发控制(MVCC)、行级锁定、表锁定等,以及它们在不同隔离级别下的表现。 5. **存储与恢复机制**:讲解数据的物理存储格式,如记录格式、页管理,...

Global site tag (gtag.js) - Google Analytics