2016-05-24 4 views
1

私は2つのLinodeサーバを持っています。私たちはdrupalファイル構造を持っており、他のサーバにはデータベースがあります。他のサーバにmysqlを介して接続することができません

データベースに接続したいができない。私のホストで

は MySQLのxxx.xxx.xxx.xxx(私のDBサーバのIP)

Setting.php

$databases = array (
    'default' => 
    array (
    'default' => 
    array (
     'database' => '*****', 
     'username' => '*****', 
     'password' => '*****', 
     'host' => 'mysql', 
     'port' => '', 
     'driver' => 'mysql', 
     'prefix' => '', 
    ), 
), 
); 

とmy.confファイルに バインドアドレス= XXXを提出します。 xxx.xxx.xxx(dbサーバアドレス)

この変更後のmy.confでは、このサーバでmysqlを起動できません。

何が間違っているのか、設定を忘れていますか?

+0

最初にbind-addressを0.0.0.0に設定します。サーバーがローカルにログインを開始した後、ユーザーのGRANTSを設定します。私は彼が127.0.0.1かlocalhost –

答えて

0

これは最も安全な方法ではありませんが、これは動作します。 DBサーバーで、MySQLのバインドアドレスが0.0.0.0に設定されていることを確認してください。これにより、すべてのIP上で実行され、ローカルホスト(127.0.0.1)からのみアクセスできるlocalhostにバインドされません。

Drupalがインストールされているサーバーには、MySQLがインストールされている必要はありません。あなたのDrupalの設定(Drupalの前に特定のデータベースアドレスを設定していないので、私の選択肢がわからないので)データベースのアドレスをあなたのMySQLサーバのIPアドレスに変更してください。私はそれが以前に127.0.0.1、別名localhostに設定されていたと仮定しています。これを設定した後、正常に動作するはずです。 DBサーバーのプライベートIPアドレスを使用してください。

DrupalサーバーのIPアドレスに特定のアクセスを許可するようにデータベースを構成することが理想的です(0.0.0.0に設定すると、 )。

関連する問題