[XAMPP] [MySQL] ローカルから1度接続すると外部からMySQLに接続できなくなる
昨日から色々とネット上を検索しているのですが、同様の課題が見つからずに困っております。あるいは下名の単純な誤認かもしれませんが、ご教示頂けると助かります。
1.問題
1) XAMPP上で構築したWordPressのMariaDBに外部接続したい
2) サーバ起動直後は外部PCから直接MariaDBに接続できるが、1度サーバ内部で接続すると、外部からは接続できなくなる
2.目的
1) WordPressで作成している投稿中のAdvanced Cunstom Fieldのデータ(在庫数データ)を外部PCから一括で書き換えたい
2) 書き換えるデータは社内の在庫管理システムから取得する
3) 在庫管理システムからのデータ取り出しとWordPressへのデータ書き出しプログラムはVBAで作成する
3.環境
サーバ
PC: Windows10Home 64bit
XAMPP : 3.2.4
MariaDB : 10.4.8(port 3306)
Apache : 2.4.41
PHP : 7.3.11
phpMyAdmin : 4.9.1
クライアント
PC : Windows10Home 64bit
MySqlAdministrator : 1.1.9
ネットワーク環境
社内LAN : 192.168.1.0
4.接続確認方法とエラー内容
1) mySqlAdministratorでクライアントからサーバに接続
-> Can't connect to MySQL server on '192.168.1.79'(10060) と表示
2) PowerShellで Test-NetConnection を実行
-> TCP connect to (192.168.1.79 : 3306) failed と表示
5.正常稼働からエラーへの移行
1) 上2方法とも、サーバ再起動直後は正常接続を確認できる
2) 1度クライアントから下記3方法のいづれかでサーバにHTTP接続してMariaDBに接続すると、エラーが発生するようになる
- WordPressの編集画面を開く
- WordPressで生成されるサイト画面を開く
- phpMyAdminを開く
3) 上の症状はブラウザを閉じても継続する
6.これまでに行ったこと
my.ini
1) skip-name-resolve を追加
2) enable-named-pipe のコメントを外す(有効化)
3) bind-address を①削除 ②0.0.0.0を指定 の2通り試す(現在は②に)
httpd-xampp.conf
1) Alias /phpmyadmin "C:/xampp/phpMyAdmin/" を Require all granted に変更
ファイアウォール
1) サーバ側、クライアント側ともに、3306の受信許可を追加
2) サーバ側、クライアント側ともにFWを無効に設定(現在は有効に)
netstat
1) サーバ側で netstat -an で 0.0.0.0:3306 Listened を確認
7.悩んでいること
1) とにかく1度は接続できるので、ポート開放やファイアウォールの通過の問題では無いと思われる
2) my.iniには以下の設定項目が記述されていないので、デフォルトが適用されていると思われる
- max_connect_errors
- max_connections
- max_error_count
3) my.conf や my.cnfファイルは無く、my.iniのポート指定を3307に変更すると反映されるので、MariaDBの設定はmy.iniを変更すればよいと思われる
4) PSのTest-NetConnectionでエラーが出るので、MariaDBからエラーが返ってくるというよりは、TCPの3306ポートでの接続の問題だと思われる
以上のような状況です
1度サーバのApacheからMariaDBにアクセスすると、他からのアクセスが拒否される、ということなのでしょうか?
ブラウザを閉じてもエラーが継続するのは、Apacheからの接続は閉じられていないということなのでしょうか?
その場合、ApacheあるいはXAMPPの設定で解決できるのでしょうか?
あるいは、MariaDBに複数のポートを設定して、3306にはApacheが、別のポートに外部から接続するようなことはできるのでしょうか?
あるいは全く別の問題なのかもしれませんが、みなさまのお力添えを頂けると大変助かります。よろしくお願いします。
(Markdown記法に慣れていないため、読みづらい面がありましたらご容赦のほど)