LoginSignup
7
6

More than 5 years have passed since last update.

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

Posted at

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

新しく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のこの方のページが見つかったので、スクリプトをありがたくパクらせていただきました。

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分にバックアップを取るように設定します。

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

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

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6