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

MySQL 锁

MySQL中最常见的锁有全局锁、表锁、行锁。


全局锁

全局锁用于锁住当前库中的所有实例,也就是说会将所有的表都锁住。一般用于做数据库备份的时候就需要添加全局锁,数据库备份的时候是一个表一个表备份,如果没有加锁的话在备份的时候会有其他的事务进行提交,从而造成数据不一致,加锁后能保证在备份的时候不会有其他事务提交数据。


如何添加一个全局锁呢?

通过以下命令添加一个全局锁

#设置全局锁
flush tables with read lock;

执行增删改操作,会发现当前锁冲突,无法操作

insert into user (username, password, phone) 
values ('Jack', '$2a$10$6ptTq3V9XfaJmFYwYT2W9ud377BUkEWk.whf.iQ.0sX5F.L497rAC', 
        '12345678901');


执行读取操作

#读取user
    select *
    from user;


可以发现,添加全局锁后,整个数据库都变成了只读状态,操作完别忘记释放全局锁。

#释放全局锁
unlock tables;

相关文章:

  • 浅谈StarRocks SQL性能检查与调优
  • 判断字符串是否为回文(信息学奥赛一本通-1146)
  • 算法刷题整理合集(四)
  • ai-1 搭建python
  • 熔断和降级的区别,具体使用场景有哪些?
  • 笔试-广度优先搜索BFS-信号强度
  • 手机端Flutter、React Native与原生安卓、iOS交互的方案及设计原理
  • 数据结构与算法-图论-拓扑排序
  • An error occurred: ‘numpy.ndarray‘ object has no attribute ‘clone‘
  • 创建表空间和表
  • 再学:Solidity数据类型
  • [Linux]进程控制
  • 实战ansible-playbook
  • 论文修改参考文献的数字顺位顺序技巧
  • leetcode每日一题:使字符串平衡的最小交换次数
  • 6个月的Go语言学习甘特图路线图 从零基础到项目实战
  • GB9706.1-2020部分定义
  • flutter Json转Dart Model类
  • EF框架数据库更新后自动更新类及上下文
  • NA611系列WiFi串口服务器常见问题以及解决办法
  • 德国将不再公布对乌克兰军事支持的细节
  • 明查|哈佛大学批改美教育部长来信,红笔标出语法错误?
  • 临港新片区:发布再保险、国际航运、生物医药3个领域数据出境操作指引
  • 河南省省长王凯在郑州调研促消费工作,走访蜜雪冰城总部
  • 习近平抵达莫斯科对俄罗斯进行国事访问并出席纪念苏联伟大卫国战争胜利80周年庆典
  • 美国与胡塞武装达成停火协议,美伊相向而行?