DCL&併發事務問題與解決 -2024/10/10

XYu1230發表於2024-10-10

DCL

use mysql;

-- 建立使用者
create user 'yd'@'localhost' identified by '123456';
-- 修改使用者的密碼
alter user 'yd'@'localhost' identified by '1234';
-- % 表示任意主機都可以訪問
-- 刪除使用者
drop user 'yd'@'localhost';
-- 查詢許可權
show grants for 'yd'@'localhost';
-- 授予許可權
grant all on lxy.* to 'yd'@'localhost';
-- 撤銷許可權
revoke all on lxy.* from 'yd'@'localhost';

併發事務問題有三種

  1. 贓讀:一個事務讀到另外一個事務還沒有提交的資料。
  2. 不可重複讀:一個事務先後讀取同一條記錄,但兩次讀取的資料不同,稱之為不可重複讀。
  3. 幻讀:一個事務按照條件查詢資料時,沒有對應的資料行,但是在插入資料時,又發現這行資料
    已經存在,好像出現了 "幻影"。

解決方法:

-- 檢視事務隔離級別
select @@transaction_isolation;

-- 修改事務隔離級別
set session transaction isolation level read committed ;

相關文章