web-dev-qa-db-ja.com

MySqlサーバーはローカルホストでのみ機能します

自分のマシンにmysqlサーバーをインストールし、MySqlWorkbenchをローカルホスト(ポート:3306)として使用して接続できました。しかし、ローカルホストを自分のマシン名に変更すると、機能しません。 Webサーバーが存在する別のマシンからデータベースにアクセスする必要があるため、localhostとしてアクセスしても役に立ちません。何が悪いのでしょうか?

PS。ローカルApacheにlocalhost:8080およびmachinename:8080としてアクセスできます。私はMySqlで同様の動作を期待していました

3
ajy

Mysqlサーバーへの接続が許可されているコンピューターは、/ etc /my.cnfで定義されています。

すべてのコンピューターからの接続を許可するには、ファイルを編集する必要があります

[mysqld]
bind-address = localhost #Change from localhost to '0.0.0.0' (all zeros) 
skip-networking   #Comment out this line if it exits
enable-named-pipe #Comment out this line if it exists

Bind-addressをlocalhostから0.0.0.0に変更すると、mysqlはどこからでも接続できるようになるので注意してください。で特定のマシンのみを許可するには、ファイアウォールをロックダウンする必要があります。

また、リモート接続を許可するようにデータベースを変更する必要がある場合もあります。リモートマシンのIPが192.168.1.100の場合

 GRANT ALL PRIVILEGES ON *.* TO db_user @'192.168.1.100' IDENTIFIED BY 'db_passwd';
2
spuder