WordPressのデータベースにはMySQL(MariaDB)が使われており、データベースのバックアップを取ると拡張子が「.sql」のファイルがダウンロードできます。
データベースの管理ツールとして有名な「phpMyAdmin」を使ってデータベースをエクスポートした場合も同様に「xx.sql」というファイルが入手できます。
しかし、この拡張子が「.sql」になっているファイルを開いて確認・編集しようと思った時、どうすれば良いのか分からないことがあります。そこで「.sql」をローカル環境で覗き見したり、編集したりする方法をまとめました。
データベースのバックアップ(.sql)の中身を確認したい時などにどうぞ!
この記事の目次
SQLファイル「.sql」を開いて確認・編集する方法
はじめに...今回の記事は単刀直入に説明するのが難しいのですが、以下のような情報をお探しの方に特にお勧めの記事となります。
- 任意のSQLファイル(.sql)を開いて確認・編集・テストしたい。
- WordPressのデータベースのバックアップを確認・編集したい。
- 拡張子が「.sql」になっているファイルの開き方が分からない。
- DBバックアップをダウンロードしたら「.tar.gz」だった...何コレ?
話せば長くなるのですが、僕の場合は前回記事の執筆中に下書きをごっそり削除してしまうというアクシデントがありました。WordPressの下書き保存機能は全て無効化しているので、削除前のデータベースの中身を確認するしかないという状況です。
そこでレンタルサーバー会社が自動で取ってくれているデータベースのバックアップファイル(.sql)からこの下書きを抽出して復元しようと思ったのが事の発端です。
.sqlからテーブルの中身を確認するのは大変
国内外問わず、多くのレンタルサーバーで使用されているデータベースの管理ツールが「phpMyAdmin」だと思いますが、これを使ってデータベースを「エクスポート」すればSQLファイル(拡張子.sql)がダウンロードできます。
WordPressに使われるデータベースのファイルも「.sql」ファイルです。
この.sqlがデータベースのバックアップになっており、この.sqlからデータベース内のテーブル、カラムにある下書きを確認したいわけですが、結構難儀なのです。
どこら辺が苦労するのかというと以下のような点です。
- .sqlはメモ帳や各エディターで開いてもテーブル、カラムまで確認できない。
- .sqlをデータベースにインポートして中身を確認するためにはサーバーが必要。
- 本番環境のサーバーに過去のバックアップをインポートするわけにはいかない。
- 一応コマンドプロンプトでも開けるが、上級者向けでGUIじゃないと骨が折れる。
SQLファイル(.sql)はSQLで書かれたデータを格納しているファイルで、そのまま開いてもカラムなどの中身を確認することはできないのです。
コマンドプロンプト(CUI)でもやってみたのですが、テーブルを絞り込んでカラムの中身を抽出したいとなると、やはりphpMyAdminなどのGUIツールが必須です。
とにかくWordPressで使っていた過去のデータベースファイル(.sql)を開いて覗き見するだけでもサーバー環境が必要だというところが難儀です。
ダウンロードしたデータベースが.tar.gzだった
そしてさらに別の問題も...
当サイトはMixHostというレンタルサーバーで運営しているのですが、データベースの自動バックアップは「JetBackup 5」というツールで作成されていました。
別にソフトは何でもよいのですが、バックアップをダウンロードしてみると拡張子が「.tar.gz」となっており、欲しかった「.sql」の状態ではありませんでした。
調べてみると「.tar.gz」という拡張子はtarコマンドでまとめたファイルを、更にgzipコマンドで圧縮したファイルなのだそうです。めんどくさいw
「.tar.gz」はまとめてから圧縮したものですが、使う時は2回解凍すればOKです。
解凍ソフトは何でも良いですが、今回は定番の「7-Zip」を使いました。
ファイルは7-Zipインストール後、右クリックから解凍可能です。(あとは割愛)
外部リンク
7-Zipのダウンロード先:圧縮・解凍ソフト 7-Zip
上記の画像のように「.tar.gz」を1回解凍すれば「.tar」に...
そしてもう1度解凍すれば「backup」というフォルダが出てきます。
さらにbackupファイルの中に「xx.sql.gz」というのがあるので解凍すれば「xx.sql」が取り出せます。
これが今回欲しかった過去のデータベースの自動バックアップファイルです。
XAMPPを使って.sqlの中身を確認・編集する
前置きが長くなってしまいました。
では、中身を確認したい.sqlファイルの準備が整ったところで、本題のSQLファイル(.sql)をローカル環境で開いて確認・編集する方法に参りましょう。
前述の通りSQLファイル(.sql)を覗き見するだけでもデータベース、つまりサーバーが必要です。そして今回は過去のデータベースの中身を確認したいので、現在の本番環境のサーバーにはインポートできません。
こうなるともうローカル環境(PC内)にサーバーを構築するのが一番です。
で、色々調べたのですが、ApacheとMySQLとphpMyAdminを手っ取り早く構築するにはやはり「XAMPP」しかありませんでした。「Adminer」というのもありますが、これは動作中のサーバーにファイルを配置するもので、今回の作業には向きません。
ということで以下の手順で.sqlの中身を確認します。
- XAMPPを使ってローカル環境にサーバーを構築する。
- phpMyAdminを開き、データベースを作成する。
- 作成したデータベースに目的の.sqlをインポートする。
- phpMyAdminのGUI操作で目的のカラム(下書き)の中身を確認する。
結局のところ、自由に使えるサーバーを作り、phpMyAdminを使ってデータベースに.sqlを展開して目的のカラム(下書き)を確認するのが確実で速い感じです。
XAMPPのインストール
XAMPPというソフトを使えば、簡単にローカル環境にサーバーを構築できます。
そして何よりも今回良いのがApachやMySQL、phpMyAdminといった必要なソフトも同時に1発でインストールできるという点です。
今回はWindows(64bit)用を使って解説します。
まず、以下のリンクよりXAMPPのインストーラーを入手しましょう。
外部リンク
XAMPPのダウンロード先:Download XAMPP
ダウンロードしたインストーラーをダブルクリックして起動します。
するとWarningという画面がでますが、これは無視してOKです。
セットアップ画面が出るので、Nextを押して進みます。
インストール方法は簡単で、基本はNextで進んでいけばOKですが、インストールするコンポーネントの選択画面は必要最低限のものに絞っても良いと思います。
次のSelect Componentsの画面で今回必要なソフトだけにチェックを絞ります。
今回.sqlの中身を確認するのに必要になるソフト、プログラムは以下です。
- Apache
- MySQL
- PHP
- phpMyAdmin
これだけでPC内にサーバーを構築し、データベースを操作することが出来ます。
その後の設定はNextで進んでいけばOKです。
- インストール場所の設定
- 言語の設定(日本語はない)
- セットアップ準備完了
- セットアップ中
- Finishを押してXAMPPを起動する
注意点として「C:」以外にインストールするとエラーが出るバージョンがあります。
また、XAMPPのインストール先のフォルダは空でないとダメです。
(過去にインストールした時の「xampp」フォルダがある場合は削除する。)
あとXAMPPは管理者権限で実行しないと終了時にエラーを吐きます。
(毎回面倒でないなら無視して強制終了でも使えるには使えます。)
phpMyAdminを起動して.sqlをインポートする
XAMPPをインストールしたら早速起動します。
コントロールパネルが開いたら、ApacheとMySQLの横にある「Start」ボタンをそれぞれ押して両方のソフトを起動します。
ApacheとMySQLが無事に起動したら、MySQLの欄にある「Admin」をクリック。
これでローカル環境に構築したサーバーでphpMyAdminを使うことが出来ます。
データベースを作成する
phpMyAdminの画面が開いたら早速データベースを作成します。
メニューから「新規作成」をクリックし、新しいデータベースを作成しましょう。
適当なデータベース名を入力して「作成」ボタンを押します。
ここでは「my_database」という名前のデータベース名にしました。
データベースに.sqlをインポートする
続いて作成したデータベースにSQLファイル(.sql)をインポートします。
選択中のデータベースを確認し、メニューの「インポート」を押します。
アップロードファイルというところで.sqlファイルを選びます。
今回の「sample_database.sql」というのは記事の冒頭で紹介した、データベースの自動バックアップファイルであるSQLファイル(.sql)です。
これです。拡張子が「.sql」になっているか今一度確認しましょう。
「.tar.gz」などのままだとエラーが出てインポートできませんので注意です。
設定はそのままでOKなので触らずに一番下までスクロール。
「インポート」というボタンがあるのでこれを押します。
ポイント
ファイルの大きさや環境によって変わりますが、インポート作業には少し時間がかかる(数秒~数分)ので待ちましょう。
データベースから目的のカラムを確認
インポートが終わると.sqlがそれぞれ展開されてテーブルになります。
.sqlの中身を確認したかっただけなのですが、やっとです...
ここまで来たら後は焼くなり煮るなり~!
覗き見しようが編集しようが削除しようが、ローカル環境なので安心です。
よっしゃー!ということで早速当初の目的だった記事の下書きを確認しに行きます。
WordPressの場合、記事の下書きはデータベースの以下の場所に保存されています。
phpMyAdmin > WPに使用しているデータベース > xx_posts内
post_statusカラムのステータス | |
auto-draft | 自動下書き |
draft | 下書き |
えっと...下書きを削除した時の状態が保存されています。(;´д`)トホホ
ということで諦めて最初から記事を書くことにしました!!
まとめ
以上、WordPressのデータベースのバックアップにも使用されているSQLファイル(拡張子が.sql)の中身を確認・編集する方法でした。
SQLファイルを開くだけなら各エディターで開けますが、肝心のテーブルやカラムの中身を確認するにはphpMyAdminを使わないと難しい感じです。
一応SQLファイルエディターなる開発ソフトもインストールしてみたのですが、SQL命令の知識が乏しい&使い慣れていないということで結局phpMyAdminを使うことにしました。コマンドプロンプトからでももっと簡単に確認できるのかな?
ちなみに今回使用した「XAMPP」ですが、Windowsの場合はプログラムの追加と削除から簡単にアンインストールできます。不要になればすぐに消せるのでお試しあれ!
ここまでやられても自動下書き。てめぇはダメだ!
長い記事を最後までお読みいただきありがとうございました。
ではではこのへんで・w・