序文: 以前の記事では、特定のパラメータの機能についてよく紹介してきました。しかし、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 または運用保守担当者によって管理されるため、一部の学生はこれらのパラメータに馴染みがない可能性があります。データベースを初期化するときに、サーバーの仕様に応じて対応するデータベース パラメータを設定することをお勧めします。機能が不明なパラメータについては、デフォルト値のままにしておくことをお勧めします。パラメータの詳細については、公式ドキュメントを参照してください。
要約: この記事では、MySQL パラメータとクエリ変更方法に関する概念について詳しく説明します。皆さんが関連知識を習得できることを願っています。 以上がMySQLパラメータ関連の概念とクエリ変更方法の詳細な内容です。MySQLパラメータの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Ubuntu 20.04 デスクトップのインストールとルート権限の有効化および SSH インストールの詳細
序文私たちの日常の開発プロセスでは、ソートが頻繁に使用され、そのような要求がある場合もあります。たと...
データベースを使用するアプリケーションを開発する場合、必然的にユニオンクエリを使用する必要があります...
この記事では、WindowsでのMySQL 5.7.18のインストールと設定のチュートリアルを参考ま...
目次不規則なフォームの実装透明な部分をクリックする不規則なフォームの実装ここでは円形フォームを実装し...
目次js のイベントイベントタイプ一般的なイベントイベント登録静的および動的登録の例onload 読...
2 つ以上のブロックレベル ボックスの垂直に隣接するエッジが重なり合っています。結果として得られる境...
MySQL データベースを使用する際、何らかの理由で長期間 MySQL にログインしていない場合、ま...
以下のように表示されます。 nsenter -t 1 -m -u -n -i sh -c "...
参考までにMySQL 8.0.22をダウンロードしてインストールしてください。具体的な内容は次のとお...
ngx_lua_module は、lua パーサーを nginx に埋め込み、lua 言語で記述され...
Vue に限定されず、他の種類の SPA プロジェクトにも当てはまる問題がいくつかあります。 1....
目次ERR 1067による殺人事件2番目の問題の原因はsql_modeです3. sql_modeを設...
ベンダープレフィックスとは何ですか?ベンダー プレフィックス - ブラウザー エンジン プレフィック...
リーダーの指示のもと、Java プロジェクトを引き継ぎ、リファクタリングを行う必要がありました。同時...
インターネット上には多くのチュートリアルがありますが、基本的には同じです。ただし、細かい原因でソフト...