トランザクション分離レベルを確認する MySQL では、'%tx_isolation%' などの show variables や select @@tx_isolation; ステートメントを通じて、現在のトランザクション分離レベルを表示できます。 現在のトランザクション分離レベルを表示するための SQL ステートメントと実行結果は次のとおりです。 mysql> '%tx_isolation%' のような変数を表示します。 +---------------+-----------------+ | 変数名 | 値 | +---------------+-----------------+ | tx_isolation | 繰り返し読み取り | +---------------+-----------------+ セット内1列、警告1回(0.17秒) mysql> @@tx_isolation を選択します。 +-----------------+ | @@tx_isolation | +-----------------+ | 繰り返し読み取り | +-----------------+ セットに 1 行、警告 1 件 (0.00 秒) 結果は、MySQL の現在のトランザクション分離レベルが REPEATABLE-READ であることを示しています。 さらに、次のステートメントを使用して、それぞれグローバル トランザクション分離レベルとセッション トランザクション分離レベルを照会できます。 @@global.tx_isolation を選択します。 @@session.tx_isolation を選択します。 ヒント: MySQL 8.0.3 では、tx_isolation 変数は transaction_isolation 変数に置き換えられました。 MySQL 8.0.3 でトランザクション分離レベルをクエリするには、上記のクエリの tx_isolation 変数を transaction_isolation 変数に置き換えるだけです。 トランザクション分離レベルを変更する MySQL には、単一セッションまたはグローバルにトランザクション分離レベルを変更できる SET TRANSACTION ステートメントが用意されています。構文の形式は次のとおりです。
SESSION および GLOBAL キーワードは、変更されたトランザクション分離レベルの範囲を指定するために使用されます。
どのユーザーでもセッションのトランザクション分離レベルを変更できますが、グローバル トランザクション分離レベルを変更できるのは SUPER 権限を持つユーザーのみです。 通常のユーザーを使用してグローバル トランザクション分離レベルを変更すると、この操作を実行するにはスーパー権限が必要であることを示すエラー メッセージが表示されます。SQL ステートメントと実行結果は次のとおりです。 C:\Users\leovo>mysql -utestuser -p パスワードを入力してください: ****** MySQL モニターへようこそ。コマンドは ; または \g で終わります。 MySQL接続IDは41です サーバーバージョン: 5.7.29-log MySQL コミュニティサーバー (GPL) Copyright (c) 2000, 2020, Oracle およびその関連会社。無断複写・転載を禁じます。 OracleはOracle Corporationおよびその関連会社の登録商標です。 その他の名称は各社の商標である場合があります。 所有者。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; エラー 1227 (42000): アクセスが拒否されました。この操作には SUPER 権限 (少なくとも 1 つ) が必要です。 mysql> SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; クエリは正常、影響を受けた行は 0 行 (0.00 秒) 例1 セッションおよびグローバル トランザクションの分離レベルを変更するには、SET TRANSACTION ステートメントを使用します。SQL ステートメントと実行結果は次のとおりです。 mysql> @@session.tx_isolation を選択します。 +------------------------+ | @@session.tx_isolation | +------------------------+ | シリアル化可能 | +------------------------+ セットに 1 行、警告 1 件 (0.00 秒) mysql> グローバルトランザクション分離レベルを REPEATABLE READ に設定します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> @@global.tx_isolation を選択します。 +-----------------------+ | @@global.tx_isolation | +-----------------------+ | 繰り返し読み取り | +-----------------------+ セットに 1 行、警告 1 件 (0.00 秒) set tx_isolation コマンドを使用して、現在のセッションのトランザクション分離レベルを直接変更することもできます。SQL ステートメントと実行結果は次のとおりです。 mysql> tx_isolation='READ-COMMITTED' を設定します。 クエリは正常、影響を受けた行は 0 行、警告は 1 件 (0.00 秒) mysql> @@session.tx_isolation を選択します。 +------------------------+ | @@session.tx_isolation | +------------------------+ | コミット読み取り | +------------------------+ セットに 1 行、警告 1 件 (0.00 秒) 知識ポイント補足 MySQL トランザクション分離レベル読み取りコミット フローチャート 上記は、MySQLのトランザクション分離レベルの表示と変更の例の詳細内容です。MySQLのトランザクション分離レベルの表示と変更の詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Dockerプライベートウェアハウスレジストリの導入
1. はじめに不明な値または部分的に既知の値をフィルタリングする場合は、like 演算子を使用でき...
土曜日、本番サーバー上の Redis サーバーが利用できなくなり、エラー メッセージは次のようになり...
目次1 Nginxのインストール2 Nginxの設定3 ホストファイルを変更する4 テストNginx...
序文少し前に、browser-sync+gulp+gulp-nodemon を組み合わせて、本番環境...
今日は、JavaScript を使用して Web ページ上にプレーヤーを作成する方法を紹介します。誰...
バージョン 0.6 あたりで、Docker に privileged が導入されました。このパラメー...
今日は折り紙飛行機(飛べる飛行機)を作ります基本的にすべてCSSで実装されており、JSはごく一部に過...
ウェブサイトの互換性のデバッグは本当に面倒です。今日のウェブサイト デザイナーは、以前よりもはるかに...
目次1. イメージをプルする2. イメージを実行する3. コンテナ内でアプリケーションをテストする4...
padding-top パーセンテージを使用すると、固定幅と比例した高さの表示を実現できます。現在の...
目次1. はじめに2. ルール検証の入力モード2.1 サンプルコード2.2、フォーム項目2.3. 小...
通常、CSS セレクターは上から下に選択し、親要素を介して子要素を選択します。では、子要素を介して親...
まず、イメージをプルします(またはコンテナを作成するだけで、自然にプルされます)。 docker p...
コンピュータを再インストールし、最新バージョンのMySQLデータベースをインストールしました。その結...
1. xshell を使用して仮想マシンに接続するか、仮想マシンに直接コマンドを入力します。以下はx...