全局锁
# 创建全局锁
flush tables with read lock;
# 释放锁
unlock tables;
表锁
表级-读锁
当表加读锁后, 所有客户端只能对表数据进行读操作, 只有等锁释放之后才能进行其他操作.
# 加表级-读锁
lock tables student_info read;
# 释放锁
unlock tables;
表级-写锁
当表加写锁后, 加锁客户端可读/写数据, 其他客户端不能读、不能写数据.
# 加表级-写锁
lock tables student_info write;
# 释放锁
unlock tables;
表级-元数据锁
加锁过程系统控制, 无需显示使用, 在访问表时会自己添加. 在表上有活动事物时, 不可对元数据进行写入操作(既不能修改表结构)
SHARED_READ SHARED_WRITE 互相兼容 与 EXCLUSIVE 互斥
# 查看元数据锁SQL
select object_type, object_schema, object_name, lock_type, lock_duration from performance_schema.metadata_locks;