编辑
2025-12-06
mysql
00
请注意,本文编写于 43 天前,最后修改于 43 天前,其中某些信息可能已经过时。

目录

全局锁
表级锁
表锁

全局锁

锁的是整个数据库实例,也就是数据库中的所有表,加了全局锁之后,所有客户端只能进行读操作,不能其他操作。

用途:用于备份数据库,防止备份途中有修改操作导致数据不一致

加全局锁

sql
flush tables with read lock;

备份

sql
mysqldump -uroot –p1234 itcast > itcast.sql

释放锁

sql
unlock tables;

特点:在加了全局锁之后,只能读,会导致需要修改的业务处于阻塞状态

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

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

表级锁

表锁

分为两类:表共享读锁(read lock),表独占写锁(write lock)。

读锁:所有客户端只能读,包括自己。

写锁:其他客户端既不能读,也不能写;自己既可以读也可以写。

语法:

加锁:

sql
lock tables 表名 read/write;

释放锁:

sql
unlock tables;(或者直接停止客户端连接)
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay