自宅サーバと、同じく自宅の開発機でサーバ上のデータベースをローカルネットワーク内で共有したくなったので、
MySQLサーバへ外部接続を許可する設定を探し中。
外部接続を許可するには、MySQLのユーザ権限を変更する方法と
MySQLの設定ファイルにある、「ローカルネットワークのみ接続許可」と設定されているロックを外す方法の2種類が見つかった。
そこでハマったのが、設定ファイルの在り処…
結論からいうと、ここにありました
C:\ProgramData\MySQL\MySQL Server 5.5\my.ini
以下、ハマったポイントについてメモ。
MySQL設定ファイルはOSによって名称が違う
「MySQLサーバ 外部接続 許可」あたりで検索していると
my.cnf で設定を解説してくださっている記事がたくさん見つかりますが、これはOSがUnixの場合のファイル名。
windowsの場合はmy.iniが設定ファイルです。
置き場所が見つからない
Windowsディレクトリ直下にあるとか、MySQLのbinディレクトリ内にあるとか
いろんな情報を見つけたのですが、どのディレクトリを開いてみても、「my.ini」と検索してみても見つからず… orz
コントロールパネル → 管理ツール → サービス
ここで、起動しているMySQLサーバーのプロパティ(右クリックで選べる)を開いてみると
「実行ファイルのパス」の中にmy.iniへのパスらしきものが!!
あったー!!
該当ディレクトリをどうやって開く…
が、エクスプローラを開いてみたところ、cドライブ直下に「ProgramData」というディレクトリがありませんが…
おそらく、隠しディレクトリか何かで表示されていない??
だから、あんなに「my.ini」で検索しても何も該当しなかったのか。
隠しファイルということなら
Windowsボタンを押したらすぐ上にでてくるあれ、「プログラムとファイルの検索」からためしてみました。
入力欄に「C:\ProgramData\MySQL\MySQL Server 5.5\my.ini」とペーストすると…でてきました。
こんな感じに、紆余曲折ありながらmy.iniは見つかったのですが
フタをあけてみれば、制限をかけている記述↓がどこにもない!?
bind-address = 127.0.0.1
文字コードもデフォルトでutf-8になってるし、バージョンが変わってiniの設定も変わったかな。…あはは。
MySQLサーバの外部接続許可設定はまだまだ続く。