2017-07-08 7 views
0

私はLinuxサーバでmysqlを実行しています。私はLinuxサーバーIPを持っていて、mysqlはそのLinuxサーバー上のlocalhost上で動作します。どうすればlocalhostサーバ上で実行されているmysqlにリモートからアクセスできますか?サーバ内でmysqlサーバにアクセスする方法は?

私はこれをsshでlinux serverに実行してからmysqlを実行することができますが、PHPスクリプトを使ってどのように行うのですか?たとえば...

<?php 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 

try { 
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, 
      $password); 

    // set the PDO error mode to exception 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    echo "Connected successfully"; 
} 
catch(PDOException $e) 
{ 
    echo "Connection failed: " . $e->getMessage(); 
} 
?> 

(このスクリプトはリモートでのみ可能ではないとする直接MySQLへ接続している)

私のスクリプトにアクセスする方法がない限り、私は、MySQLサーバのLinuxサーバにアクセスする必要があります直接mysqlを(リモート)。これはどのように達成可能ですか?

+0

あなたはそれが動作するための専用のIPが必要です、私はあなたがちょうどリモートmysqlをサポートするvps /共有ホスティングを購入することをお勧めします。 –

+0

私はそれが私の唯一の選択肢だと思います。 –

+0

申し訳ありません初めて初めて理解したのは、 '私はLinuxサーバーIP'を持っています - >それを$ servernameで使用します:) –

答えて

0

my.cnfのバインドアドレスを変更して、mysqlサービスを再起動する必要があります。

公式ドキュメント:

https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_bind_address

アドレスが0.0.0.0の場合、サーバーは、すべてのサーバホストのIPv4インターフェイス上のTCP/IP接続を受け入れます。

デフォルトでは、すべての接続でローカルホストが制限されていました。

0

サーバからmysqlインスタンスにアクセスするには、開発マシンにWorkbench(またはその他のmySqlエクスプローラー)をインストールする必要があります。

サーバのIPアドレスをホスト名として使用して接続を作成し、ユーザ名とパスワードを入力して接続を開きます。すべてのことがうまくいくなら、あなたのデータベースはエクスプローラに表示されます。

関連する問題