mysql 關閉鎖 Mysql 鎖

2021-10-18 10:02:06 字數 1058 閱讀 7033

鎖分類

行鎖間隙鎖

表鎖行鎖(鎖原理是基於索引的,如果不命中索引就會公升級為表鎖,注意innodb儲存引擎)

1、查自動提交是否關閉

命令列開啟兩個視窗,視窗1關閉自動提交

show variables like 'autocommit';

--關閉自動提交

set autocommit=0;

select * from user;

| id | xuehao | name |

| 1 | 110 | stu1 |

| 2 | 111 | stu10 |

| 12 | 112 | stu20 |

在視窗1中更新一行資料,執行如下語句:

start transaction;

begin;

update user set name='stu2' where id=1;

執行完,開啟視窗2,也來更新該記錄,發現sql不能執行

update user set name='stu3' where id=1;

這是時在視窗1手動提交事務,執行commit,在切換回視窗2發現sql被執行。

2、表鎖

思路:xuehao列沒有索引,根據學號列更新,測試公升級為表鎖。

視窗1中,

set autocommit=0;

start transaction;

begin;

update user set name='stu2' where xuehao='110';

視窗2,執行sql會被卡主

update user set name='stu2' where xuehao='112';

最後,切到視窗1,提交事務commit;視窗2的sql才會執行。

3、間隙鎖

事務隔離級別:可重複讀,當保證範圍查詢,事務內不可變,需要間隙鎖。

間隙鎖,查詢對應的條件列上沒有索引或者非唯一索引,間隙鎖是左開右閉的。

總結:注意行鎖,在innodb引擎下,命中索引才會有;

生產注意不要行鎖變表鎖,併發性查;

間隙鎖,會產生死鎖。

關閉mysql 部署mysql

mysql資料庫 mysql是一種開源 的關係型資料庫管理系統 rdbms 使用最常規的資料庫管理語言 結構化查詢語言 sql 進行資料庫管理。部署mysql 1.基本環境 1 調整2g記憶體 2 關閉防火牆和selinux systemctl stop firewalld 臨時關閉 systemc...

mysql關閉遠端 MySQL開啟關閉遠端訪問

mysql開啟關閉遠端訪問 2018 02 26 開啟遠端訪問 更新使用者 use mysql update user set host where user root flush privileges 新增使用者 use mysql insert into user host,user,passw...

mysql 關閉日誌命令 關閉MySQL日誌

關閉日誌以前首先先要刪除日誌。執行 usr local mysql bin mysql u root p 一定要按照這個執行,否則容易出unknown terminal type master 輸入密碼登陸以後執行 reset master 不能省略 然後輸入?q?退出mysql命令模式。禁用mys...