素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

投稿日: 2020年3月21日
最終更新日:

【MySQL】~/.my.cnfの設定が読み込まれない原因【–defaults-fileオプション】

YouTubeも見てね♪

Anker PowerCor

created by Rinker
Anker
¥3,990 (2025/01/05 12:09:11時点 Amazon調べ-詳細)

旅行には必須の大容量モバイルバッテリー!

【最新機種】GoPro hero11 Black

created by Rinker
¥61,300 (2025/01/05 20:59:47時点 楽天市場調べ-詳細)

最新機種でVlogの思い出を撮影しよう!

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥33,000 (2025/01/05 13:22:08時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

モンスターエナジー 355ml×24本 [エナジードリンク]

created by Rinker
モンスター
¥4,718 (2025/01/05 12:33:40時点 Amazon調べ-詳細)

脳を活性化させるにはこれ!

ドラゴンクエスト メタリックモンスターズギャラリー メタルキング

created by Rinker
スクウェア・エニックス(SQUARE ENIX)
¥3,940 (2025/01/05 12:41:47時点 Amazon調べ-詳細)

みんな大好き経験値の塊をデスクに常備しておこう!

MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド

Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!

サンディスク microSD 128GB

スマホからSwitchまで使える大容量MicroSDカード!

設定を変えたいのに反映されない

MySQLのポートを変えたい

先日、お勉強用サーバーのMySQLをいじっていた際にポートを変えようと思い、上書き用の.my.cnfを作業ユーザーのホームディレクトリに作成しました。

ファイルの中身自体はポート番号を変えるだけの簡単なものです。

また、事前調査でMySQLの設定は以下の順番で設定ファイルを読み込みし、同一プロパティの指定がある場合は後勝ちで使用されるという記事も確認済みだったのでこれで行けると思いMySQLサーバーを再起動しました。

優先度
  1. /etc/my.cnf
  2. /etc/mysql/my.cnf
  3. SYSCONFDIR/my.cnf
  4. $MYSQL_HOME/my.cnf
  5. --defaults-extra-file=path
  6. ~/.my.cnf
  7. ~/.mylogin.cnf

あれ、変わらないぞ・・・?

再起動後、ポートが変わっていると思いきや変わっておらず外部からのアクセスが出来ません。

なぜだ?

試しにMySQLが起動しているサーバーからmysqlに入りポート番号を確認してみると。

変わっていない。。。

しっかりサーバー上にも~/.my.cnfは存在しています。

ファイルの中身も先ほどのものと同じです。。。

原因

原因は–defaults-fileオプション

原因は、MySQLサーバーを起動する際に--defaults-fileを指定していたことが原因でした。

このオプションが指定されると、上記の複数ファイルは読み込まずオプションで指定したファイルのみしか読み込まなくなります。

このオプションが入っている経緯としては、まだ知識が無い頃にAnsibleを使ってMySQLをインストールしたのですが、その参考記述に--defaults-fileが指定されており、そのままオプションが含まれたコマンドを実行していたのが原因でした。

–defaults-extra-fileで上書き

対応策として、--defaults-extra-fileという読み込む設定ファイルを明示的に追加するオプションが用意されているので、こちらを使って~/.my.cnfを追加することで上書きすることが可能になりました。

一件落着!

終わりに

以上のように、ちょっとハマりガチな現象でした。

原因が分からないとハマってしまう可能性があるので、お困りの方は是非試してみてください♪

CATEGORIES & TAGS

IT