以前に wordpress のセットアップの記事を書いたことがありましたが、その時に使用したデータベースが mariadb でした。今回 SNMP を基本としたサーバやネットワークのモニタリングツールをご紹介しようと思ったのですが、ほとんどのシステム ( と言っても Cacti と Zabbix のみをご紹介しようという企画です ) の背後でデータベースが動いていることが多いですので、ディスク領域を喰うことからローカルの個別のインスタンスとすることをやめて、共有のデータベースサーバを立ち上げようと思います。その第1弾としてデータベースサーバの立ち上げと、テスト用に使用している wordpress のデータベースを wordpress サーバローカルから今回立ち上げるデータベースサーバに移すところをご紹介します。
database server installation
まずは、素のサーバを database.home.jf3vqb.net というマシン名でインストールし、IP アドレスなどは DHCP で半固定で割り当てるようにしています。入れたアプリケーションは、お決まりの pdksh と open-vm-tools-nox11、samba416 のみです。そこに mariadb サーバの最新版を make 一発入れてゆきます。
コンパイルの間に、sendmail の証明書を作ったり、Kerberos クライアントをセットアップしたり、コーヒーを飲んだりして完了を待ちます。
起動スクリプトを見て、自動起動するように /etc/rc.conf に変数をセットします。
起動スクリプトを実行して起動することを確認します。この時、tcp ポートの 3306 がオープンしていることを確認します。/etc/services ファイルの中に mysql のポートとして定義されています。このポートが使えるようになっていないと、ネットワーク越しにデータベースを使用することができません。
wordpress サーバからデータを移動する前に、ユーザを作っておきます。このユーザはネットワーク越しに wordpress.home.jf3vqb.net からアクセスしてきます。そして、データベース wordpress 内の全てのテーブルへのアクセスを許可します。データベース wordpress は削除しておきましょう。後でインポートしますので。
data migration from dedicated server to shared server
さて、次は wordpress サーバ側での作業となります。まず現在のデータベース wordpress を mysqldump コマンドでダンプします。そして、データベースを停止して、自動起動しないようにしておきます。
そして、wordpress のデータベースの接続先を変更します。
127.0.0.1 のローカルホストにつなぐようになっていますが、このデータベースは停止したのでもう使えません。代わりにネットワーク越しに database.home.jf3vqb.net から全く同じデータが提供されるようにします。
この変更を有効にするためにアパッチを再起動しておきます。
続いてデータベースサーバ側です。先ほど wordpress でダンプしたファイルを mysql コマンドでインポートします。/home は NFS でシェアされているのでファイルの移動は不要ですね 🙂 インポート後は wordpress というデータベースができていることを確認します。
デュアルスタックのサーバなのに IPv4 だけなのはちょっと腑に落ちないので調べてみました。最後に調整してみます。
さて、wordpress の mariadb は停止しました。この状態でテストページを開いてみるとこれまでと同じように見えますでしょうか?
ネットワーク経由でポート 3306 につながった形跡はありますでしょうか?
問題がないようでしたら、wordpress 上の mariadb のサーバは不要となりましたので、アンインストールしておきます。アプリケーション以外にもデータベースのファイルも削除しておきましょう。
dual stack connections
デュアルスタックのサーバですので IPv6 でも使用したいと思い、ネットのマニュアルを読もうと思ったのですが、その前にまずは検索一発 mariadb ではなく mysql のマニュアルが引っ掛かりました。基本使い勝手は同じということなので、ここに書かれている事を試してみます。マニュアルによるとバインドするアドレスを指定するオプションを指定する必要があるということですので、起動スクリプトから使えそうなオプションを見てみます。
mysql_args が使えそうなので、マニュアルのオプションを指示通り指定します。
そして、データベースを再起動してみます。よさげです 🙂
実際クライアント側から IPv6 が使われているかどうかも確認しておきます。こちらもよさげです。
これでデータベースをシェアする準備ができました。次回は Cacti か Zabbix をご紹介できると思います。
以下広告
コメント