PHPのPDOで外部のデータベースを利用するときに躓いたところをまとめました。
#データベースサーバーの話
レンタルサーバー付属のDBサーバーは無理
レンタルサーバー付属のDBサーバーを最初使おうとしたのですが、基本的にどのレンタルサーバーもリモートSQLには対応していません。
リモートSQLとは、そのDBサーバーが運用されているIPとは異なるIPやグローバルネットワーク経由でのSQL操作のことです。
セキュリティ的な理由で、多くのレンタルサーバー付属のDBサーバーはできません。
#DBサーバーの選択肢
月額固定費での運用を考えると、日本語環境だと以下の2つのDBサーバーがありました。
DBサーバー|VPSならConoHa
https://www.conoha.jp/database/
データベースサーバー|レンタルサーバーのカゴヤ・ジャパン
https://www.kagoya.jp/multi-plan/database/
どちらも、初期費用0円・月額500円です。
Conohaだと、VPSの契約も必須なようなことを書いてあるサイトもありましたが、データベースサーバーだけで利用可能です。
#固定IPからの利用だと問題なし
リモートSQLをするクライアントが固定IPアドレスであれば、どちらのDBサーバーを利用しても問題ありません。
#動的IPからの利用は大問題
カゴヤのDBサーバーは、リモートSQLのクライアントのIPアドレスを必ず指定する必要があります。
そのため、動的IPから利用する予定がある人は色々問題が発生します。
そのため、動的IPアドレスからの利用を予定している人はConohaのDBサーバーをおすすめします。
#PHPを動かすサーバーの問題
PHPからSQLを操作するときに、外部のデータベースを操作できるレンタルサーバーとできないレンタルサーバーがあります。
私が利用しているMixhostとXserverは、どちらもダメでした。
最終的に、海外のレンタルサーバーであるBluehostを利用しました。
いろいろセキュリティと利便性の案配が大変なんですね。
以上
おわおわり。