MYSQL 關於鎖的一些事

2021-10-07 20:34:03 字數 779 閱讀 6636

現在的mysql預設的資料引擎都是innodb的,查詢操作不會出現鎖的問題(使用的快照原理),如果你的mysql的資料引擎用的是myisam,查詢時會產生鎖的,如果系統的併發量較大容易出現超時的情況,極端情況下會使搞掛rds,讓你看著cup直冒冷汗。

遇到問題可以按照以下步驟來一波,問題就能迎刃而解了:

1、檢視資料庫的隔離級別:

mysql> select @@tx_isolation;

2、去檢視先當前庫的執行緒情況:

mysql> show processlist;

沒有看到正在執行的慢sql記錄執行緒,再去檢視innodb的事務表innodb_trx,看下裡面是否有正在鎖定的事務執行緒,看看id是否在show full processlist裡面的sleep執行緒中,如果是,就證明這個sleep的執行緒事務一直沒有commit或者rollback而是卡住了,我們需要手動kill掉。

mysql> select * from information_schema.innodb_trx;

3、看到有鎖的sql,kill掉,執行 "kill (1111)鎖的執行緒id";

然後再去查詢innodb_trx表,就沒有阻塞的事務sleep執行緒存在了

4、看看autocommit;

mysql> select @@autocommit;

mysql都是autocommit,如果查詢的值是0,執行下這個命令,不然後續還會遇到坑。

mysql> set global autocommit=1;

關於MySQL鎖的一些試驗

1 共享鎖,也叫讀鎖,當前事務可以進行讀寫操作,而其他事務只能進行讀操作,不能寫操作,禁止其他事務對同樣的資料集加排他鎖,但允許加共享鎖。如 select from user where email 5122809388 163.com lock in share mode 2 排他鎖,只允許當前事...

關於const的一些事

一 const能做哪些事情呢?1 可以定義const常量 2 可以修飾函式的形參和返回值 3 可以修飾函式的定義體 意義 被const修飾的東西都要受到強制的保護,可以預防意外的變動,能提高程式的健壯性 二 const和 define有啥不同的呢?我們知道const定義的是常量,define也可以定...

關於linphone,arm的一些事

移植好linphone之後就先用linphonec除錯,看下有什麼錯誤資訊。這個鏈結事是關於inphonec命令的 好像翻00牆才能進哦,我現在不能翻牆,昨晚開啟的 太多,這個 是否是我說的那個其實也不是很確定,總之你進去就知道了2333 之前進了乙個q群,蠻不錯的,不過記得裡面的命令大全也是不全的...