リモート接続を受け入れるようにMySqlサーバーをセットアップする方法は?


16

UbuntuデスクトップにMySqlサーバーをインストールしています。Server Hostnameasを指定するとMySql Query Browserに接続できlocalhostますが、マシンのIPに置き換えると動作しなくなります(MySql Query Browserが同じマシンで実行されている場合でも)。

これまでに行ったのはiptablesを削除することだけですが、それは何の関係もないようです。

ここにエラーメッセージがあります

ホスト「192.168.0.2」に接続できませんでした。

MySQLエラー番号 2003

「192.168.0.2」のMySQLサーバーに接続できません(111)

[Ping]ボタンをクリックして、ネットワークの問題があるかどうかを確認します。

pingは大丈夫ですが、

回答:


22

mysqldを127.0.0.1とは異なるIPにバインドする必要があります。

my.cnf(通常は/etc/mysql/my.cnf)を開き、次の行を変更します

bind = 127.0.0.1

マシンが外部の世界に接続するために使用するIPに。0.0.0.0すべてのIPアドレスにバインドします。変更後にmysqldを再起動することを忘れないでください。


別のエラーが発生しました:ホスト '192.168.0.2'に接続できませんでした。MySQLエラー番号 このMySQLサーバへの接続を許可されていない「何でも-vubuntu.local」1130ホスト
Jaderディアス

user @ localhostとuser @ <hostname>は異なります。リモートホストから接続できるようにするには、ユーザーを追加する必要があります。
ジェームズ

これは問題ではありません。私はこれをやったが、まだエラーが出る。
セリン

それはbind-addressどうでしょう?
トーマスウェラー


2

ここで説明するいくつかの潜在的な問題:

http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html http://dev.mysql.com/doc/refman/5.1/en /access-denied.html

すべてのデータベースにすべての特権を付与する場合は、試してください

grant all on *.* to 'joe'@'%';

ただし、それを行う前に、「ホスト」が自分のIPアドレスに設定されている「mysql」データベースにユーザーがいることを確認してください。そのため、ユーザー「joe」には、呼び出し元のIPごとに1つ以上のレコードがある場合があります。既にそこにあるものを見るには:

use mysql;
select Host, User, Password from user where user='joe';`

私の場合、ユーザーは正しいIPを持っていることがわかりましたが、パスワードもありませんでした。パスワード(ハッシュ化されたものなど)をカットアンドペーストすると、特定のリモート接続の問題が解決しました。

update user set Password='5493845039485' where user='joe';

もう1つ、my.cnfで「port = 3306」または使用する予定のポートを設定できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.