SQL-锁

一.锁的介绍

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

二.分类

1.全局锁:

锁定数据库中的所有表。

2.表级锁:

每次操作锁住整张表

3.行级锁

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

三.全局锁

全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语句,已经更新操作的事务提交语句都将被阻塞。

四.如果加了全局锁会是怎么样的

五.加全局锁

sql 复制代码
flush tables with read lock;

六.进行数据备份

sql 复制代码
mysqldump -uroot -p1234 itcast>itcast.sql

1.-u: 指定用户

2.-P:指定密码

3.要备份那个数据库

4.备份的数据库存放在哪里

七.解锁

sql 复制代码
unlock tables;

一旦加了全局锁 只能读不能写

八.特点

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

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

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

在innoDB引擎中,我们可以在备份时加上参数· 参数来万完成不加锁的一致性数据备份

sql 复制代码
mysqldump  --single-transaction ​​​​​​​  -uroot -p1234 itcast>itcast.sql
相关推荐
算是难了几秒前
TypeORM vs Prisma
数据库·typescript·node.js
wuyikeer5 分钟前
如何在docker中的mysql容器内执行命令与执行SQL文件
sql·mysql·docker
m0_716430076 分钟前
HTML函数能否用触控板高效编写_触控硬件操作体验评估【汇总】
jvm·数据库·python
2401_835956816 分钟前
Golang怎么安全关闭channel_Golang channel关闭教程【通俗】
jvm·数据库·python
东北甜妹10 分钟前
Redis Cluster 操作命令
java·开发语言
Absurd58711 分钟前
golang如何实现MQTT主题通配符路由_golang MQTT主题通配符路由实现策略
jvm·数据库·python
m0_6742946411 分钟前
宝塔面板如何设置网站强制HTTPS_配置Nginx自动跳转规则
jvm·数据库·python
qq_4240985612 分钟前
HTML函数开发用可拆卸键盘设计实用吗_模块化硬件体验评估【指南】
jvm·数据库·python
Wyz2012102412 分钟前
CSS如何实现Less颜色函数自动计算渐变_使用lighten与darken实现视觉反馈
jvm·数据库·python
weixin_4585801212 分钟前
CSS如何通过Emotion管理样式加载顺序_处理组件优先级问题
jvm·数据库·python