2013-04-29 14 views

答えて

257

を役に立てば幸いリモートからmy.cnfのマシンのIPアドレスにポート3306をバインドする必要があります。次に、ローカルホストと '%'ワイルドカードの両方でユーザーを作成し、すべてのDBのアクセス許可をに付与する必要があります。以下を参照してください:(Windows上のmy.ini)

のmy.cnfを、その後

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; 
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass'; 

その後

GRANT ALL ON *.* TO 'myuser'@'localhost'; 
GRANT ALL ON *.* TO 'myuser'@'%'; 

#Replace xxx with your IP Address 
bind-address  = xxx.xxx.xxx.xxx 

をお使いのOSに応じて、あなたが開くことがありリモート接続を可能にするポート3306。

+0

以外のものから接続することはできません。これは、WebFactionプライベートMySQLインスタンスの使用に役立ちました。私はあなたのCREATE USERとGRANT ALLの手順に従い、php.iniで 'mysql.default_port = 'を設定し、dbホスト名に '127.0.0.1'を使用しました – spex

+0

非常に便利です。ちょうどコメント。 my.cnfには別の設定ファイルが含まれていて、関連する行が別の場所にある可能性があります。 my.cnfでは、!includeで始まる行を探します。もしbind-addressがmy.cnfになければ、それはインクルードされたファイルに置かれます。 – Joan

+0

my.cnfファイルはどこですか? –

8

どのDBがユーザーですか?この例を見てください。

mysql> create database databasename; 
Query OK, 1 row affected (0.00 sec) 
mysql> grant all on databasename.* to [email protected] identified by 'password'; 
Query OK, 0 rows affected (0.00 sec) 
mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec) 

"%"演算子はネットワーク内のすべてのコンピュータを意味します。

aspesaが示すように、私はあなたがユーザーを作成または更新する必要があることも確信しています。すべてのMySQLユーザーを探す:

SELECT user,password,host FROM user; 

とすぐに、ユーザーが設定してしまったとしてあなたは、このように接続することができます:

mysql -h localhost -u gmeier -p 

は、接続するために、それは

+0

一般的に、すべてのdb。私は接続するだけで、DBを選択するのではありません。'code'mysql_connect( 'localhost:3306'、 'user'、 'password'); 'code' – user2333586

+0

あなたはどのOSですか、Windows、Linux ?? – apesa

+0

ウィンドウ。 wampサーバー。 – user2333586

7

の指示に従って(ウィンドウでは必要ありません1〜3ステップ):MySQLの設定を編集する

  1. を検索:

    /etc/mysql/my.cnf(Mysqlの5.5)

    /etc/mysql/conf.d/mysql.cnf(Mysqlの5.6+)

  2. 検索設定ファイルの変更でbind-address=127.0.0.1bind-address=0.0.0.0(あなたのインターフェイスIPSのいずれかにバインドアドレスを設定するか、または私のよう0.0.0.0使用することができます)コンソール上

  3. 再起動MySQLサービスの実行を: service restart mysql

  4. を持つユーザーを作成します。リモート接続用の安全なパスワード。(あなたはmysqlのコンソールの実行mysqlに到達するためのLinuxユーザであれば、あなたは、ルート実行mysql -p用のパスワードを設定している場合)のmysqlにこの実行は、次のコマンドを実行するには:

    GRANT ALL PRIVILEGES 
    ON *.* TO 'remote'@'%' 
    IDENTIFIED BY 'safe_password' 
    WITH GRANT OPTION;` 
    

を今、あなたはの名前のユーザーを持つ必要がありますリモート接続が可能なsafe_passworduserとパスワード。

+2

変更バインドアドレス= 0.0.0.0 ...それは私のために働いた。権限を付与する – zwitterion

関連する問題