Help us understand the problem. What is going on with this article?

あら怖い、さくらのDBパスワード忘れてwordpressのバックアップがとれない

More than 5 years have passed since last update.

パスワード設定したの誰よ

新しくjoinしたエンジニアさんにある日尋ねられた。
「あのー公式サイト(さくらのレンタルサーバー)のDBのパスワードなんですか?」
はて、サービスのブログにwordpressを使っているのは知っていたが、デザイン会社さんに制作をお任せしていたので自分ではまったく触ったことがなかった。
しかもどうやらパスワードを設定した(らしい)当時の担当者はもういない..
もちろん、さくらのコントロールパネルでDBのパスワードは変更することができるけど、そんなことしたらwordpressが動かなくなっちゃう。
そんなわけで捜索がはじまりました

意外に簡単に見つかる

wordpressが使ってるんだから、多分ワードプレスが知ってるだろう..とあたりをつけて探してみたらやっぱり持ってました。(こうやって平文で持っているのもなんだなあと思いますが)

wp-config.php
% 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管理画面で確認してくださいね。
スクリーンショット 2015-10-09 11.51.46.png

自動的にバックアップを取る

これでmysqlに接続できるようになったのでとりあえず管理画面>データベースの設定>管理ツール>phpMyAdminにログインできるようになりました。
ここでGUIを使ってdumpを取ることはできるわけですが、こんなことを定期的にやるのは めんどくさい 非効率的なのでcronでバックアップを取ることにしましょう。

グーグル先生に聞いたらQiitaのこの方のページが見つかったので、スクリプトをありがたくパクらせていただきました。

http://qiita.com/UedaTakeyuki/items/2fa1ab453632edf92bb3

mybackup.sh
#! /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に登録すると実行権限を与えるのを忘れてバックアップが取られてないという悲しいお知らせを受け取ることになるので気をつけましょう。

スクリーンショット 2015-10-09 15.24.17.png

cronもちろんコマンドで登録してもいいですが、ヘタレな私はGUIで登録しました。毎時0分にバックアップを取るように設定します。

ああ、よかった。これで万が一の時にまた投入する心配がなくなりました。
それにしても教訓は

パスワードはちゃんと引き継げ ですね。

wildspin
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away