字节流的博客

MySQL 事务控制和锁定语句

1. 锁

  • 级别:页级、表级和行级;
  • LOCK:LOCK TABLES table_name1 READ | WRITE {, table_name2 READ | WRITE};
  • UNLOCK:UNLOCK TABLES;
  • 共享读锁(READ):不会阻塞其他进程对同一表的读请求,但是会阻塞其他进程对该表的写请求;
  • 独占写锁(WRITE):会阻塞其他进程对同一表的读和写请求,只有当锁释放后才可以执行;

2. 事务

  • 自动提交:SET AUTOCOMMIT = 1。1:自动提交;2:手动 COMMIT 提交;
  • 事务开始:START TRANSACTION 或者 BEGIN
  • 提交或回滚:COMMIT 或者 ROLLBACK
  • 事务结束:上一次事务完成(提交或回滚)后:
    • CHAIN:开始一个新事务,与上一事务具有相同的隔离级别;
    • RELEASE:断开与客户端的连接;

3. 分布式事务

分布式事务应该涉及一个或多个资源管理器和一个事务管理器。

  • 资源管理器(RM):数据库服务器其实是一个资源管理器;
  • 事务管理器(TM):用于协调一个分布式事务一部分的事务;
Thanks! 😊