ConoHa VPS APPサーバーからDBサーバーに接続


VPS APPサーバーを作成し(CentOS 7.2)し、 ConoHaのアプリケーションサーバー項目からDBサーバーを追加しました。  
一通り設定を済ませて

[code]

    ping -c 3 private.****.****.database-hosting.conoha.io
    
[/code]

とすると

[code]

     PING private.unit01.database-hosting.tyo1.conoha.io (172.21.74.19) 56(84) bytes of data.
    
    64 bytes from 172.21.74.19: icmp_seq=1 ttl=63 time=0.455 ms
    64 bytes from 172.21.74.19: icmp_seq=2 ttl=63 time=0.372 ms
    64 bytes from 172.21.74.19: icmp_seq=3 ttl=63 time=0.408 ms
    
    --- private.unit01.database-hosting.tyo1.conoha.io ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2003ms
    rtt min/avg/max/mdev = 0.372/0.411/0.455/0.041 ms
    
[/code]

と返ったので、続いてmysql接続をしようと

[code]

    mysql -u **** -h private.***.***.database-hosting.conoha.io -p *****
    
[/code]

と打ったら

[code]

    -bash: mysql: command not found
    
[/code]

と返ってきました。

いろいろ調べてみましたら、原因はパスが通ってないなど出てきたのですが、そもそもAPPサーバーの方にもデータベースをインストールしなくてはいけないのでしょうか？  
APPサーバーからデータベースがインストールされているDBサーバーにアクセスするというイメージだったのですが、根本的になにか間違っていますでしょうか？

ConoHa側の設定では主に下記のチュートリアルを見て行い  
[DBサーバー接続用ネットワークを使う](https://www.conoha.jp/conoben/archives/9103)

ターミナル側では下記の設定にしました。  
/etc/sysconfig/network-scripts/ifcfg-eth1

[code]

    DEVICE=eth1
    TYPE=Ethernet
    ONBOOT=yes
    NM_CONTROLLED=yes
    BOOTPROTO=static
    IPADDR=172.21.***.**
    NETMASK=255.255.254.0
    
[/code]

/etc/sysconfig/network-scripts/route-eth1

[code]

    [東京リージョンのIPアドレス] via eth1のゲートウェイのIPアドレス
    [東京リージョンのIPアドレス] dev eth1
    
[/code]




App サーバーから DB サーバーへアクセスするという認識は間違っていません。  
症状を見る限り、単に App サーバー側に mysql クライアントがインストールされていないだけではないかと思われます。  
mysql サーバーと mysql クライアントはパッケージが分かれています。DB サーバーへアクセスするだけならクライアントパッケージさえあれば OK
です。

なお CentOS は、7からはデータベースの標準に MySQL ではなく [MariaDB](https://mariadb.org/ja/)
が採用されました。（[CentOS Product
Specifications](https://wiki.centos.org/About/Product)）

ConoHa のデータベースサーバーが MySQL なのか MariaDB なのかは把握していませんが、[アプリケーションサーバーを追加する -
ConoHa](https://www.conoha.jp/guide/appserver.php) の記述を見る限り

> 「アプリケーションサーバー」は、手軽に使えるメールサーバーやDBサーバー(MySQL互換)を作成します。

とあるので MariaDB が導入されているものと推測します。

したがって App サーバー側では MariaDB のクライアントをインストールすれば良いものと思われます。

* * *

結論としては、App サーバー側で

[code]

    $ yum install MariaDB-client
    
[/code]

とすることで MariaDB のクライアントがインストールされます。これで mysql コマンドが使用できるはずです。




App サーバーから DB サーバーへアクセスするという認識は間違っていません。  
症状を見る限り、単に App サーバー側に mysql クライアントがインストールされていないだけではないかと思われます。  
mysql サーバーと mysql クライアントはパッケージが分かれています。DB サーバーへアクセスするだけならクライアントパッケージさえあれば OK
です。

なお CentOS は、7からはデータベースの標準に MySQL ではなく [MariaDB](https://mariadb.org/ja/)
が採用されました。（[CentOS Product
Specifications](https://wiki.centos.org/About/Product)）

ConoHa のデータベースサーバーが MySQL なのか MariaDB なのかは把握していませんが、[アプリケーションサーバーを追加する -
ConoHa](https://www.conoha.jp/guide/appserver.php) の記述を見る限り

> 「アプリケーションサーバー」は、手軽に使えるメールサーバーやDBサーバー(MySQL互換)を作成します。

とあるので MariaDB が導入されているものと推測します。

したがって App サーバー側では MariaDB のクライアントをインストールすれば良いものと思われます。

* * *

結論としては、App サーバー側で

[code]

    $ yum install MariaDB-client
    
[/code]

とすることで MariaDB のクライアントがインストールされます。これで mysql コマンドが使用できるはずです。

