MySQL設定資料庫隔離級別

2021-10-06 13:55:26 字數 1141 閱讀 6751

可以通過命令列設定全域性 或 會話的隔離級別。重啟或者退出會話失效

set [session | global] transaction isolation level
具體命令

# 設定全域性隔離級別

set global transaction isolation level repeatable read;

set global transaction isolation level  read committed;

set global transaction isolation level read uncommitted;

set global transaction isolation level serializable;

#設定會話隔離級別 

set session transaction isolation level repeatable read;

set session transaction isolation level read committed;

set session transaction isolation level read uncommitted;

set session transaction isolation level serializable;

通過配置檔案設定隔離級別 

[mysqld]

transaction-isolation = repeatable-read

transaction-isolation = read-committed

transaction-isolation = read-uncommitted

transaction-isolation = serializable

檢視隔離級別

select @@global.transaction_isolation

select @@session.transaction_isolation

show variables like '%iso%';

從官方文件貼上下來的命令可能是因為格式原因執行就報錯 ,氣哭 (╬◣д◢)

但還是粘一下位址吧 

mysql資料庫隔離級別

事務的隔離級別 由高到低 1.序列化 serializable 乙個事務乙個事務的執行 2.可重複讀 repeatable read 可重複讀,無論其他事務是否修改並提交了資料,在這個事務中看到的資料值始終不受其他事務影響 mysql資料庫所預設的級別 3.讀已提交 read committed 讀...

mysql資料庫事務隔離級別與設定

mysql資料庫,當且僅當引擎是innodb,才支援事務 1 隔離級別 事務的隔離級別分為 未提交讀 read uncommitted 已提交讀 read committed 可重複讀 repeatable read 序列化 serializable 未提交讀 a事務已執行,但未提交 b事務查詢到a...

MySQL資料庫的隔離級別

問題 innodb 如果乙個session a開啟事務讀一條資料,另乙個session b開啟事務更新這條資料,那麼b能夠順序提交嗎?a又讀到的是什麼值呢?mysql預設情況下,答案為 b可以立即更改這個記錄,但是a始終都讀的是b修改前的資料,即使b已經提交了。a只有提交了之後,再select,就看...