Mysql 锁

  • A+
所属分类:服务器
摘要

Mysql 锁

Mysql 锁。

Mysql 锁

WampServer修改MySQL ROOT用户密码

 

  1. /**
  2. MYSQL锁
  3. 表级锁
  4.     开销小,锁定粒度大,发生冲突的概率高,不会出现死锁(myisam、memory)
  5. 行级锁
  6.     开销大,锁定粒度小,发生冲突的概率低,会出现死锁(InnoDB)
  7. 页面锁
  8.     开销界于表级锁和行级锁之间,会出现死锁(BDB)
  9. */
  10. #Table_locks_immediate表示立即释放MySQL表锁数
  11. #Table_locks_waited表示需要等待的MySQL表锁数
  12. #如果Table_locks_waited的值比较高,则说明存在着较严重的表级锁争用情况。
  13. show status like 'table%';
  14. #获取InnoDB行锁争用情况。重点关注InnoDB_row_lock_waits和InnoDB_row_lock_time_avg
  15. show status like 'innodb_row_lock%';
  16. show engine innodb status;
  17. -- 锁演示
  18. create table test_lock
  19. (
  20.     id int(10) UNSIGNED auto_increment,
  21.     name VARCHAR(100) not null,
  22.     PRIMARY KEY (id)
  23. )ENGINE=MyISAM DEFAULT charset=utf8;
  24. insert into test_lock(name) VALUE ('test');
  25. -- 写锁定
  26. lock TABLE test_lock write;
  27. -- 当前session对锁定表的查询、更新、插入操作都可以支持
  28. select * from  test_lock;
  29. insert into test_lock(name) VALUE ('test1111');
  30. select * from  test_lock;
  31. -- 新建一个查询,然后输入查询,无法查询到结果
  32. #释放锁
  33. UNLOCK TABLES;
  34. -- 然后去新的查询中执行,可以执行
  35. #5.6版本以上的mysql可以通过my.cnf中配置innodb_print_all_deadlocks=1来吧死锁的信息输出到日志里
  36. #如果有,关注lock关键字
  • 我的微信
  • 请务必准确填写验证信息
  • weinxin
  • 我的微信公众号
  • 提供本博客以及生活资讯
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: