国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL查看和修改事務隔離級別的實例講解

2024-07-24 12:54:35
字體:
來源:轉載
供稿:網友

查看事務隔離級別

在 MySQL 中,可以通過show variables like '%tx_isolation%'或select @@tx_isolation;語句來查看當前事務隔離級別。

查看當前事務隔離級別的 SQL 語句和運行結果如下:

mysql> show variables like '%tx_isolation%';+---------------+-----------------+| Variable_name | Value      |+---------------+-----------------+| tx_isolation | REPEATABLE-READ |+---------------+-----------------+1 row in set, 1 warning (0.17 sec)mysql> select @@tx_isolation;+-----------------+| @@tx_isolation |+-----------------+| REPEATABLE-READ |+-----------------+1 row in set, 1 warning (0.00 sec)

結果顯示,目前 MySQL 的事務隔離級別是 REPEATABLE-READ。

另外,還可以使用下列語句分別查詢全局和會話的事務隔離級別:

SELECT @@global.tx_isolation;SELECT @@session.tx_isolation;

提示:在MySQL 8.0.3 中,tx_isolation 變量被 transaction_isolation 變量替換了。在 MySQL 8.0.3 版本中查詢事務隔離級別,只要把上述查詢語句中的 tx_isolation 變量替換成 transaction_isolation 變量即可。

修改事務隔離級別

MySQL 提供了 SET TRANSACTION 語句,該語句可以改變單個會話或全局的事務隔離級別。語法格式如下:

SET [SESSION | GLOBAL] TRANSACTION ISOLATION LEVEL {READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE}

其中,SESSION 和 GLOBAL 關鍵字用來指定修改的事務隔離級別的范圍:

SESSION:表示修改的事務隔離級別將應用于當前 session(當前 cmd 窗口)內的所有事務;
GLOBAL:表示修改的事務隔離級別將應用于所有 session(全局)中的所有事務,且當前已經存在的 session 不受影響;
如果省略 SESSION 和 GLOBAL,表示修改的事務隔離級別將應用于當前 session 內的下一個還未開始的事務。

任何用戶都能改變會話的事務隔離級別,但是只有擁有 SUPER 權限的用戶才能改變全局的事務隔離級別。

如果使用普通用戶修改全局事務隔離級別,就會提示需要超級權限才能執行此操作的錯誤信息,SQL 語句和運行結果如下:

C:/Users/leovo>mysql -utestuser -pEnter password: ******Welcome to the MySQL monitor. Commands end with ; or /g.Your MySQL connection id is 41Server version: 5.7.29-log MySQL Community Server (GPL) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners. Type 'help;' or '/h' for help. Type '/c' to clear the current input statement. mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operationmysql> SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;Query OK, 0 rows affected (0.00 sec)            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 剑河县| 定西市| 南丰县| 石河子市| 靖宇县| 封丘县| 静海县| 新营市| 深水埗区| 通江县| 石狮市| 辽宁省| 西乡县| 昌黎县| 太谷县| 台北市| 章丘市| 都安| 益阳市| 克东县| 上思县| 且末县| 泰顺县| 新沂市| 建湖县| 鄱阳县| 马鞍山市| 诸城市| 绥滨县| 清涧县| 仪征市| 永德县| 永定县| 清水河县| 聂拉木县| 东至县| 繁峙县| 屏东市| 周口市| 柳江县| 周口市|