#パスワード設定したの誰よ
新しくjoinしたエンジニアさんにある日尋ねられた。
「あのー公式サイト(さくらのレンタルサーバー)のDBのパスワードなんですか?」
はて、サービスのブログにwordpressを使っているのは知っていたが、デザイン会社さんに制作をお任せしていたので自分ではまったく触ったことがなかった。
しかもどうやらパスワードを設定した(らしい)当時の担当者はもういない..
もちろん、さくらのコントロールパネルでDBのパスワードは変更することができるけど、そんなことしたらwordpressが動かなくなっちゃう。
そんなわけで捜索がはじまりました
#意外に簡単に見つかる
wordpressが使ってるんだから、多分ワードプレスが知ってるだろう..とあたりをつけて探してみたらやっぱり持ってました。(こうやって平文で持っているのもなんだなあと思いますが)
% cat wp-config.php | grep DB
define('DB_NAME', 'hoge_db');
define('DB_USER', 'ore');
define('DB_PASSWORD', 'OREORE123');
define('DB_HOST', 'mysql506.db.sakura.ne.jp');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
このDB_PASSWORDの「OREORE123」がDBのパスワードです。もちろん仮名です。
いろんなことを設定しているんだなあと思いました。
ちなみにDB_HOSTはさくら側で割り当てられているようで、mysql__506__.db.sakura.ne.jpの部分はご自分のDB管理画面で確認してくださいね。
#自動的にバックアップを取る
これでmysqlに接続できるようになったのでとりあえず管理画面>データベースの設定>管理ツール>phpMyAdminにログインできるようになりました。
ここでGUIを使ってdumpを取ることはできるわけですが、こんなことを定期的にやるのは めんどくさい 非効率的なのでcronでバックアップを取ることにしましょう。
グーグル先生に聞いたらQiitaのこの方のページが見つかったので、スクリプトをありがたくパクらせていただきました。
#! /bin/sh
mv dump.sql dump.old.sql
/usr/local/bin/mysqldump -Q -h mysql506.db.sakura.ne.jp -u ore -pOREORE123 (データベース名) > dump.sql 2>dump.error.txt
ここで気をつけるのは「mysql506」の部分を自分に割り当てられたdbに変更しないとmysqldumpがこけることです。
あとなぜかパスワードを「-p パスワード」と入れるとうまくいかず、空白を開けず「-pパスワード」と打つとうまくいきました(常識?)
一度 ./bash mybackup.sh で正しく動作することを確認してcronに登録します。
あわててcronに登録すると実行権限を与えるのを忘れてバックアップが取られてないという悲しいお知らせを受け取ることになるので気をつけましょう。
cronもちろんコマンドで登録してもいいですが、ヘタレな私はGUIで登録しました。毎時0分にバックアップを取るように設定します。
ああ、よかった。これで万が一の時にまた投入する心配がなくなりました。
それにしても教訓は
パスワードはちゃんと引き継げ ですね。