序文: 以前の記事では、特定のパラメータの機能についてよく紹介してきました。しかし、MySQL パラメータが何であるかをまだ理解していない人もいるかもしれません。この記事では、MySQL パラメータについて説明し、MySQL パラメータを管理および維持する方法を学びます。 1.MySQLパラメータの概念 ここで言及しているパラメータは、公式ドキュメントではシステム変数と呼ばれています。変数によって機能が異なります。 MySQL サーバーは、その構成を表す多くのシステム変数を保持しており、それらはすべてデフォルト値を持っています。通常、起動コマンドラインまたは構成ファイルで設定できます。 システム変数は、グローバル システム変数 (global) とセッション システム変数 (session) に分けられます。一部の変数はグローバル変数とセッション変数の両方であり、一部はグローバル変数のみです。グローバル変数はサーバーのグローバル操作に影響しますが、セッション変数は特定のクライアント接続関連の操作にのみ影響します。セッション変数が個別に設定されていない場合は、対応するグローバル変数から継承されます。 MySQL サービスが起動すると、設定ファイルまたはコマンドラインで指定されたオプションに従ってグローバル変数に値が割り当てられます。オプションが指定されていない場合は、デフォルト値が使用されます。サービスが開始された後、サーバーに接続して SET GLOBAL var_name ステートメントを実行することで、一部のグローバル変数の値を動的に変更できます。グローバル変数を変更するには、SUPER 権限が必要です。 MySQL は各クライアント接続のセッション変数も維持し、接続時にクライアント セッション変数を対応するグローバル変数の現在の値で初期化します。クライアントは、SET SESSION var_name ステートメントを通じてセッション変数を動的に変更できます。セッション変数を設定するには特別な権限は必要ありませんが、セッション変数は現在の接続にのみ適用されます。 2. パラメータのクエリと変更の例 ここで注意すべき点は、すべてのパラメータが動的に変更できるわけではないということです。一部のパラメータは、構成ファイルに書き込んでデータベースを再起動することによってのみ有効になります。次に、MySQL パラメータのクエリと変更について説明します。 # パラメーター クエリ show global variables like 'var_name'; // グローバル システム変数の値を表示します。% ワイルドカードを使用できます show session variables like 'var_name'; // セッション システム変数の値を表示します show variables like 'var_name'; // セッション システム変数を返すことを優先します。セッション システム変数が存在しない場合は、グローバル システム変数を返します。 # select を使用して特定のパラメータをクエリすることもできます。 select @@global.var_name; // グローバル システム変数 select @@session.var_name; // セッション システム変数 select @@var_name; // 優先セッション システム変数 # クエリの例 mysql> show global variables like 'server_id'; +---------------+---------+ | 変数名 | 値 | +---------------+---------+ | サーバー ID | 1003306 | +---------------+---------+ セット内の 1 行 (0.00 秒) mysql> 'log_bin%' のようなグローバル変数を表示します。 +---------------------------------+---------------------------------+ | 変数名 | 値 | +---------------------------------+---------------------------------+ | log_bin | オン | | log_bin_basename | /data/mysql/logs/binlog | | log_bin_index | /data/mysql/logs/binlog.index | | log_bin_trust_function_creators | オン | | log_bin_use_v1_row_events | オフ | +---------------------------------+---------------------------------+ セット内の行数は 5 です (0.00 秒) mysql> @@server_id を選択します。 +-------------+ | @@サーバーID | +-------------+ |1003306| +-------------+ セット内の 1 行 (0.00 秒) # パラメータを動的に変更する set global var_name = value; セッションvar_name = valueを設定します。 var_name = 値を設定します。 @@global.var_name = 値を設定します。 @@session.var_name = 値を設定します。 @@var_name = 値を設定します。 # パラメータ変更例 mysql> set global sort_buffer_size = 2097152; クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> セッションの sort_buffer_size を 4194304 に設定します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> @@global.sort_buffer_size、@@session.sort_buffer_size を選択します。 +---------------------------+----------------------------+ | @@global.sort_buffer_size | @@session.sort_buffer_size | +---------------------------+----------------------------+ | 2097152 | 4194304 | +---------------------------+----------------------------+ セット内の 1 行 (0.00 秒) パラメータが動的に変更されたら、それを構成ファイルに書き込むことをお勧めします。動的に変更されたパラメータは MySQL サービスの再起動後に無効になるため、設定ファイルに書き込まれた場合にのみ再起動後に有効になります。動的に変更できない一部のパラメータについては、構成ファイルを変更して再起動することによってのみ有効にすることができます。ここで言及されている設定ファイルは my.cnf ファイルであり、通常、Linux システムでは /etc ディレクトリに、Windows システムでは basedir ディレクトリにあります。my.ini という名前を付けることもできます。ほとんどのパラメータは [mysqld] で設定する必要があります。簡単な設定ファイルの例は次のとおりです。 vi /etc/my.cnf # シンプルなテンプレートは次のとおりです。 [mysqld] ユーザー = mysql データディレクトリ = /data/mysql/data ソケット = /data/mysql/tmp/mysql.sock pid ファイル = /data/mysql/tmp/mysqld.pid スキップ名解決 = 1 最大接続数 = 2000 小文字のテーブル名 = 1 log_timestamps=システム 最大許容パケット = 32M ... MySQL パラメータは通常、DBA または運用保守担当者によって管理されるため、一部の学生はこれらのパラメータに馴染みがない可能性があります。データベースを初期化するときに、サーバーの仕様に応じて対応するデータベース パラメータを設定することをお勧めします。機能が不明なパラメータについては、デフォルト値のままにしておくことをお勧めします。パラメータの詳細については、公式ドキュメントを参照してください。 https://dev.mysql.com/doc/refman/5.7/en/server-system-variable-reference.html 要約: この記事では、MySQL パラメータとクエリ変更方法に関する概念について詳しく説明します。皆さんが関連知識を習得できることを願っています。 上記は、MySQL のパラメータに関する詳細な内容です。MySQL パラメータの詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。 以下もご興味があるかもしれません:
|
<<: ネイティブjsはショッピングカートのロジックと機能を実装します
目次1. toStringメソッドの3つの機能2. オブジェクトを表す文字列を返す3. カスタム t...
WeChat ミニプログラム - QR コード ジェネレーターダウンロード: weapp-qrcod...
初めてDockerを使用してイメージをローカルにパッケージ化してデプロイするまず、私のラップトップシ...
カーソル選択クエリによって返される行のセットは、結果セットと呼ばれます。結果セット内の行は、入力した...
nginxのインストール仮想マシンがインターネットにアクセスできることを確認します。 1. ルートユ...
最近のビジネスでは、オンライン トレーニング システムが特定のオンライン プレビュー ページに対する...
MySQL 8.0 の新機能は次のとおりです。 Unicode 9.0 をすぐに完全にサポートウィン...
以下の操作デモンストレーションはすべて MySQL バージョン 5.6.36 に基づいています。仕事...
目次解決: 1. 無視する2. 交換する3. 重複キーの更新についてデータを挿入するときに、重複した...
#!/bin/bash #SVNをダウンロード yum -y サブバージョンをインストールします ...
CentOS 8をインストールした後、ネットワークを再起動すると次のエラーが表示されますエラーメッセ...
JDKのインストールシステムのインストールについてはあまり詳しく説明しません。インストール手順はオン...
WeChatコンポーネントの形式で提供されます。コンポーネント内部ではasync/awaitが使用さ...
目次1. 一意の値をフィルタリングする2. 短絡評価2.1 シナリオ例3. ブール変換4. 文字列を...
序文日常の開発では、サーバー上でさまざまなテキストやログの表示操作を実行する必要があることがよくあり...