WordPressのブログを修正していたところ,変な操作をしたのだと思いますが編集中の記事の後半半分が飛んでしまいました.幸いにもデータベース(mariadb)のバックアップがありましたので,このデータベース中の記事の内容を表示し,その内容を再度投稿して復旧します.なお,当サイトは,オンプレで運用しており,利用しているOSはfedora,データベースはmariadbです.
バックアップ
作業前に関連のあるデータをバックアップしてください.最低限WordPressのディレクトリ全体とWordPressで利用するデータベースをバックアップします.
作業用データベースの作成
バックアップしたデータベースをインポートするための作業用のデータベースとその利用者を作成します.
mysql -u root -p
create database test_wp;
grant all on test_wp.* to test_wp@localhost identified by 'password';
flush privileges;
バックアップデータベースのインポート
バックアップしたデータベースをインポートします.このとき指定するデータベース名は先ほど作成した作業用のデータベース名です.間違えないようにしてください.
mysql -u root -p test_wp < backup-database
データの表示
壊れたブログの内容を表示します.まず,mysqlコマンドを実行して,先ほどインポートしたデータベースを選択します.
mysql -u root -p
use test_wp;
記事を格納しているテーブルはwp_posts(デフォルトの場合)が利用されています.show tablesコマンドで確認してください.
show tables;
WordPressの記事一覧でIDがわかる場合は以下のコマンドで内容を表示します.
select * from wp_posts where id='64';
WordPressの記事一覧でIDがわからない場合は以下のコマンドで内容をscriptコマンドなどでファイルへ出力し地道に探してください.
select * from wp_posts;
表示された内容が正しいことを確認して,再度投稿します.これで,復旧完了です.
コメント