MySQL が my.cnf を読み込む順序の詳細

MySQL が my.cnf を読み込む順序の詳細

MySQLがmy.cnfを読み込む順序

1. mysql.server の起動方法

ベースディレクトリ=/opt/mysql/mysql3315
データディレクトリ=/opt/mysql/mysql3315/data

検索するには、パラメータファイルを解析するときに-eが解析に導入されます。

/opt/mysql/mysql3315/bin/my_print_defaults -e /opt/mysql/mysql3315/my.cnf mysqld サーバー mysql_server mysql.server

つまり、--defaults-extra-fileでは、取得したディレクトリにはbasedir、datadir、pid-fileが含まれますが、pid-fileパラメータは存在しない可能性があります。

以下のように使用します

テスト -z "$mysqld_pid_file_path" の場合
それから
  mysqld_pid_file_path=$datadir/`ホスト名`.pid
それ以外
  ケース「$mysqld_pid_file_path」
    /* ) ;;
    * )mysqld_pid_file_path="$datadir/$mysqld_pid_file_path" ;;
  エサック
フィ

場所とファイル名を変換します。最終的なパラメータは次のとおりです。

/opt/mysql/mysql3315/bin/mysqld_safe --datadir=/opt/mysql/mysql3315/data/ --pid-file=/opt/mysql/mysql3315/data//mgr4.pid

2. mysqld_safeの起動方法

  • mysqld_safeの場所を逆にしてbasedirディレクトリを取得し、MYSQL_HOMEをbasedirに設定します。
  • パラメータ ファイルを解析するときに取得するパラメータは多数あるため、ここではリストされません。
/opt/mysql/mysql3315/bin/my_print_defaults mysqld サーバー mysql_server mysql.server

注: MYSQL_HOME ディレクトリは、その下のパラメータ ファイルを自動的に解析するため、ここでは -e は設定されません。解析場所は最後に表示されます。

  • mysqldを起動する
nohup /opt/mysql/mysql3315/bin/mysqld --basedir=/opt/mysql/mysql3315 --datadir=/opt/mysql/mysql3315/data 
--plugin-dir=/opt/mysql/mysql3315/lib/plugin --user=mysql 
--log-error=/opt/mysql/mysql3315/logs/mysql3315.err --pid-file=/opt/mysql/mysql3315/data//mgr4.pid 
--socket=/opt/mysql/mysql3315/data/mysql3315.sock --port=3315

注意: open_files_limitsが設定されている場合、open_file_limitsはmysqldが使用するパラメータファイルの設定を上書きするために使用されます。

  • ループ監視 pid ファイル

起動後、以下のループが実行されます。eval コマンドを使用して、mysqld への呼び出しをブロックします。プロセスが終了した場合は、戻ってループ判定を実行します。最後に、pid が存在するかどうか、および mysqld の正常なシャットダウンかどうかを判断します。判定方法は、kill -0 pid で、mysqld プロセスが存在するかどうかを判断します。存在しない場合は、プルアップします。

真実である
する
  エコー1
  start_time=`日付 +%M%S`
  eval_log_error "$cmd"
  • jemallocのロードについて
[ -n "$mysqld_ld_library_path" ]の場合;
  new_text="$mysqld_ld_library_path"
  [ -n "$LD_LIBRARY_PATH" ] && new_text="$new_text:$LD_LIBRARY_PATH"
  text="${text}LD_LIBRARY_PATH="`shell_quote_string "$new_text"`' '
フィ

  • mysqld_safeを使用して自分で起動する
「」
/home/work/ssd1/mysql/install/bin/mysqld_safe --defaults-file=/home/work/ssd1/mysql/etc/3307/my.cnf --socket=/home/work/ssd1/mysql/sock/3307/mysql.sock --datadir=/home/work/ssd1/mysql/data/3307 --user=mysql &

my_print_defaultsをこのように起動すると、--defaults-fileが呼び出されます。

/opt/mysql/mysql3320/install/bin/my_print_defaults --defaults-file=/home/work/ssd1/mysql/etc/3307/my.cnf --loose-verbose mysqld サーバー

3. mysqld と my_print_defaults が my.cnf を読み込む順序について

実際、この関数init_default_directories関数
順序は次のとおりです。

<—defaults-file が最初に読み込まれ、この設定ファイルのみを読み取り、最初のオプションになります>

  • /etc/my.cnf
  • phpMySQL の mysql.cnf ファイル
  • コンパイル時設定の DEFAULT_SYSCONFDIR my.cnf
  • MYSQL_HOME 設定。 mysqld_safe は MYSQL_HOME を設定し、次の my.cnf を読み取ります。
  • --defaults-extra-file 設定、my_print_defaults、mysqld は両方ともこれによって設定されます。
  • 〜/.my.cnf
  • 解析の順序から、コマンドラインパラメータは最後に読み込まれます。

解析が完了すると、すべてのパラメータがリストされます。同じ名前のパラメータが複数ある場合は、最後のパラメータが有効になります。

MySQL が my.cnf を読み込む順序の詳細についての記事はこれで終わりです。MySQL が my.cnf を読み込む順序の詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • シェルスクリプトを使用して、mysql を追加、削除、変更、チェックし、my.cnf を構成します。
  • Linux に mysql をインストールするときに /etc に my.cnf ファイルがない問題を解決する
  • MySQL 5.7 の /etc/my.cnf パラメータの紹介
  • 権限の問題によりMySQLの設定ファイルmy.cnfを起動できない問題の解決方法
  • MySQL サービスのパフォーマンス最適化 - my.cnf_my.ini 構成手順 (16G メモリ)
  • MySQL my.cnf 設定を変更しても効果がない問題の解決策
  • MySQL 5.5.x my.cnf パラメータ設定の最適化の詳細
  • MySQL 設定ファイル my.cnf の最適化の詳細な説明 (mysql5.5)
  • MySQL パフォーマンス最適化の道 --- 設定ファイル my.cnf を変更する
  • MariaDB (MySQL ブランチ) my.cnf 構成ファイルの中国語注釈付きバージョン
  • MySQL 設定ファイル my.cnf パラメータの最適化と中国語の詳細な説明
  • MySQL 設定ファイル my.cnf の中国語での詳細な説明と、MySQL パフォーマンスの最適化方法の共有
  • MySQL 設定ファイル my.cnf の中国語版の比較
  • MySQL 構成パラメータ my.ini/my.cnf の詳細な分析

<<:  iframeを使用してページを呼び出すとページがキャッシュされるかどうかの簡単な分析

>>:  アニメーションの再生と一時停止を制御するための CSS のヒント (非常に実用的)

推薦する

Vue で手ぶれ補正とスロットリングを使用する方法

目次序文コンセプト安定意味使用シナリオコードVueでの使用スロットリング意味使用シナリオコードVue...

CSS と HTML とフロントエンド テクノロジーのレイヤー図

JavascriptとDOMの関係は非常に曖昧で、CSSやHTMLのフロントエンド技術層も理解してい...

タイプライター効果を実現する純粋な js

この記事の例では、タイプライター効果を実現するためのjsの具体的なコードを参考までに共有しています。...

vuexプロジェクトにおけるログインステータス管理の実践プロセス

目次道具:ログインシナリオ:練習する:シナリオ1: 思考と実践シナリオ2: 思考と実践要約する道具:...

CSS を解析して画像のテーマカラー機能を抽出する (ヒント)

背景すべては、WeChat 技術グループのクラスメートが「写真の主な色を取得する方法はあるか」と尋ね...

Nginx で WordPress を設定する方法

以前、私は自分で WordPress を構築していましたが、当時はサードパーティの仮想ホストを使用し...

Node+Express テストサーバーのパフォーマンス

目次1 テスト環境1.1 サーバーハードウェア1.1.1 t2.マイクロ1.1.2 c5.large...

必見の JavaScript 面接質問 10 選のまとめ (おすすめ)

1.これは1. 誰が誰に電話をかけますか?例: 関数foo(){ console.log(&quo...

MySQL 8.0.15 のインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 8.0.15のインストールと設定方法を参考までに記録します。具体的な内容は以...

Centos ベースイメージの作成方法

序文現在、私の会社で使用しているオペレーティングシステムはすべて CentOS7.4 で、アプリケー...

MySQLトランザクションの特徴と分離レベルについてお話ししましょう

インターネットにはすでにこの種の記事が溢れていますが、私がこれをまだ書いている理由は単純です。それは...

MySQL サービスを起動できない問題の解決策を含む MySQL 5.7.17 インストール チュートリアル

.net 開発に関しては、Microsoft の SQL Server データベースに精通しており、...

Vueプロジェクトを大画面に適応させる方法の例

レムの簡単な分析まず、remはCSS単位です。pxの固定ピクセル単位と比較すると、remはより柔軟性...

より人気がありクリエイティブなダーク背景のウェブデザインの例

暗い背景スタイルのページ デザインは非常に人気があり、シックでエレガント、そして非常にクリエイティブ...

VMware Workstation Pro は Win10 ピュア バージョンのオペレーティング システムをインストールします

この記事では、VMware Workstation Pro で Win10 オペレーティング システ...