序文: 以前の記事では、特定のパラメータの機能についてよく紹介してきました。しかし、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 つ以上の行ボックスが積み重ねられ...
目次識別子の長さ制限権限テーブルの範囲フィールドの長さ制限データベースとテーブルの数の制限テーブルサ...
以前、写真が与えられ、その写真スタイルに基づいてフォームを作成するという課題に遭遇しました。しかし、...
目次1. Docker の 2375 ポートを別のポートに変更します。これは一時的な対策にすぎません...
目次シナリオ解決してみる解決するシナリオ今日、コンポーネントの双方向データバインディングにv-mod...
本体の幅をウィンドウの幅に設定します(次のスクリプトで制御されます) $("body&qu...
序文: Linux システムでの rm は元に戻せません。コマンドの設計自体に問題はありません。問題...
最近、個人の Web サイトに非常にシンプルなカラー スキーム (テーマ) スイッチャーを追加しまし...
1 公式ウェブサイトから MySQL 5.6 バージョンの圧縮パッケージmysql-5.6.36-w...
目次1. ウィザードに従って仮想マシンを作成します2. オペレーティングシステムをインストールします...
1. 削除delete は、オブジェクトのプロパティを残さずに削除する唯一の方法ですが、その「代替」...
目次1つのマスターと複数のスレーブのレプリケーションアーキテクチャマルチレベルレプリケーションアーキ...
テーマ今日は、CSS3 を使用して円形スクロール プログレス バー アニメーションを作成する方法を説...
インストールとアンインストールの表示 # rpm -qa | grep mysql を表示 # アン...
目次一致と不一致一致するすべてが平等ではない平等と不平等等しい等しくない一致と不一致シンボルの両側の...