WordPress セットアップ
MacBook 上で,研究情報管理・作業メモとしてWordPressを使用. OSバージョンアップや機材移設(新規MacBookへ移動)などのたびに,ほぼ必ずトラブルが生じる.
しかし,日常的なメモ書きとしては極めて使い勝手が良く,しかも3年以上にわたり使用しているので,今更捨てる事も出来ない. ならば,トラブルが生じる事を前提に使い続けるしかない.
各種パラメータ定義
以後の手順で利用する各種パラメータを記録.
- WordPress 本体の所在: ~/Sites/WordPress
- WordPress の設定: ~/Sites/WordPress/wp-config.php
- MySQL上のWordPress DB名: WordPressDB
- MySQL上のWordPress DBの管理アカウント: wp_admin
- MySQL上のWordPress DBの管理アカウント: Hoge_passwd123
- MySQL 5.7以後,パスワードのセキュリティレベルが上がった(MEDIUM)らしい. (1) アルファベットの大文字小文字は必ず混在,(2) 数字と特殊記号を必ず1文字以上, (3) 文字数は8文字以上
なお,MySQL のセットアップは済んでいるものとする. 記述時点(2017-02-13)の使用バージョン(パッケージ名)は mysql-5.7.17-macos10.12-x86_64 である. 所在は /usr/local/mysql-5.7.17-macos10.12-x86_64
セットアップ手順 (新規インストール)
後で書く.他に書いてるヒトたくさんいるから,オレが書かなくても良いか..
セットアップ手順 (更新・再インストール)
こっちは今後も何度もお世話になるので記録. 今回(Feb2017)もハマッたのはこれだし.
事前準備
必ずバックアップをとる事. WordPress ディレクトリ全体もそうだが,重要なのは MySQL 上の WordPress DB それ自体.
$ mysql -u root -p wordpressdb > WordPressDB_backup.sql (-p はパスワードを画面表示させないため.wordpressdb が MySQL 上のDB名.) リストアは下記: $ mysql -u wp_admin -p wordpressdb < WordPressDB_backup.sql
実行手順(作業内容メモ)
- MySQL にて,WordPress用DBと管理アカウントを作成
- 作成だけでなく,権限設定と flush privileges も忘れるな
- WordPress 用DBの復元(MySQL にて)
- 上記で作った管理用アカウントにてリストアを実行すべし
実行手順(コマンドの羅列)
$ sudo /usr/local/mysql/support-files/mysql.server start Starting MySQL . SUCCESS! $ mysql -u root -p Enter password: (MySQLはセットアップ済み,root パスワードも初期のランダムパスワードから変更済みとする) Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 37 Server version: 5.7.17-log Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. (中略) mysql> CREATE DATABASE wordpressdb; mysql> CREATE USER 'wp_admin'@'localhost' IDENTIFIED BY 'Hoge_passwd123'; mysql> GRANT ALL ON WordPressDB.* TO 'wp_admin'@'localhost'; mysql> FLUSH PRIVILEGES; mysql> quit $ sudo /usr/local/mysql/support-files/mysql.server stop Shutting down MySQL . SUCCESS!
Hoge (reserved)
WordPressのトラブル
WordPressの運用に際して出くわしたトラブル・失敗を記録. 失敗を記録する事は,将来の失敗軽減に寄与する(はず).
OSバージョンアップ時(Sierra)のトラブル (2017-02-14)
Sierra だと,旧バージョンの WordPress が動作せず(ver.記録せず.少なくとも,現在使用中のv4.7.2 より前). そもそも,MySQL が起動しなかった(El Capitan にて mysql-5.7.10-osx10.9-x86_64 を使用). 具体的な原因は不明.単に自分のPC環境に問題があっただけかもしれない. OS X の10.9版を使い続けたのだから,動かなくなっても文句を言える筋合いじゃない.
特に深く考えずに,「だったらMySQLのバージョン上げれば良いやん」と思ってインストールしたのが失敗.
WordPress DB のバックアップをとってなかった...
OSバージョンアップ前にとっておけ!なんで忘れたんや,アホが!
... MySQL の管理経験が皆無だったので,そこから悩む(実は簡単に解決できたのに).
- ${former version mysql}/data/WordPressDB を新バージョンMySQL側に単純コピーしたが閲覧できず(そりゃそうだ)
- InnoDB のデータファイルからの復元方法を検索する.難しくて理解できない
- Mac の TimeMachine から引っ張り出す計画を考える. でも,この時点でOSバージョンアップから既に数日が経過. 様々なファイルが追加されていたので,システム全体を戻す事までしたくない.
- TimeMachine で日付指定したバージョンアップ前のバックアップファイルからブート(起動時optionキー押してれば起動HDD選択可能)して, OSバージョンアップ前のシステム状態での対象DBのバックアップ,それを外部に退避させた後に内蔵HDDからブートして戻す... という手順も考えたが, そもそもそんな事は出来ない...? ネット検索して調べたが,方法は見つからなかった.
ここまで試して諦めかけたが,ふと気づく.
「前のバージョンのMySQLの data 部分,そのまま残ってるやんか」
後は簡単.
- /etc/my.cnf にて datadir だけを前バージョンのパスで指定して新バージョンの mysql を起動(成功)
- MySQL前バージョンの WordPressDB のバックアップをとる
- 一旦 MySQL を停止,my.cnf の datadir 指定を外して(デフォルト通りにして)起動
- 新規に WordPressDB を作成,管理ユーザ作成などの通常移行手順を踏む
- 先程のWordPressDBバックアップファイルを使って戻す
- ブラウザからWordPressを起動.正常にアクセスできた!
他の業務やりながらとはいえ,たったこれだけの手順を思いつくのに5日かかった... 自分は何と愚かだったのだろう.
変更履歴
更新日 | 内容 |
---|---|
2017-02-14 | 項目を整理.失敗の記憶がフレッシュなうちにまとめねば... |
2017-02-13 | 記述開始.OSバージョンアップ時のWordPress トラブルでこんなにも苦労すると思わなかった. 再発防止のため,かつ未来の自分のために覚え書きを記すことにした. |