レンタルサーバーのXserver(エックスサーバー)でMySQLデータベースのバックアップを取ってみました。
データベースのバックアップは非常に重要になってきます。
ワードプレスなどでサイトを運用している方で、データベースのバックアップを取ったことない方は、一度取ってみることをおすすめします。
◆検証環境
- Xserver(エックスサーバー)
- MySQLのバージョン5.7
◆事前準備
- サーバーパネルのログイン情報
- phpmyadminのアクセス・ログイン情報
- Tera Termを使ってサーバーにアクセスする準備
MySQLデータベースをバックアップする3つの方法
4つの方法でMySQLデータベースのバックアップを取ってみました。
一度、バックアップのやり方を覚えてしまえば、WEB開発などの仕事でも使えるので覚えておくと便利です。
◆MySQLデータベースをバックアップする3つの方法
- サーバーパネルにログインしてからMySQLデータベースをダウンロード
- phpMyAdminからMySQLデータベースをエクスポート
- SSHを使ってMySQLデータベースをmysqldump
サーバーパネルからデータベースをダウンロード
サーバーパネルからMySQLデータベースをバックアップすることが可能です。
WEB画面で操作するだけなので、初心者の方でも簡単にできます。
- エックスサーバーのサーバーパネルにログイン
- データベースの「MySQLバックアップ」を選択
- 「現在のをMySQLをダウンロード」を選択
- バックアップを取るデータベースの「ダウンロード実行」を選択
- バックアップのダウンロード開始
注意点として、MySQLデータベースの容量が2GB超えている場合は、ダウンロードができません。
また、容量が2GB以下でもレコードが多い場合ダウンロードできない可能性もあります。
phpMyAdminからデータベースをエクスポート
phpMyAdminは、MySQLデータベースをウェブブラウザで操作できるツールです。
SQL文の知識がなくても簡易的な操作でデータベースやテーブルなどの作成、編集、削除、バックアップなどを行うことができます。
- サーバーパネルにログイン
- データベースの「phpmyadmin(MySQL5.7」)をクリック
- phpmyadminログイン
- 「エクスポート」をクリック
- 必要に応じてMySQLデータベースをダウンロード
ステップ1
ステップ2
ステップ3
ユーザー名とパスワードをいれてphpmyadminにログインします。
※ユーザー名とパスワードは、wp-config.phpファイルを確認します。
ファイル保存場所:/ドメイン/public_html/wp-config.php
/** MySQL データベースのユーザー名 */
define('DB_USER', 'ユーザー名');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'パスワード');
ステップ4
エクスポートからデータベースやテーブルをバックアップします。必要に応じてエクスポート方法を変更します。
コマンドを使ってデータベースをmysqldump
エックスサーバーにSSHでログインして、MySQLコマンドでデータベースをバックアップすることも可能です。
エクスポートする速度もphpmyAdminに比べて非常に速いです。
phpmyadminからデータベースをバックアップする場合、ファイル容量などに制限があります。
MySQLコマンドの場合、特に制限がないのでおすすめです。
一度覚えてしまえば、バッチ処理(cron)でバックアップを取ることもできます。
- TeraTermにログイン
- コマンド実行
- パスワード入力
- データベースをエクスポート
ステップ1
エックスサーバーにSSHでログインします。
ステップ2・3
MySQLコマンドを使ってデータベースをバックアップします。
コマンド例
mysqldump -u ユーザー名 -p -h ホスト名 --database データベース名 > /home/xxx/20200730_mysql_bk.sql
Enter password:パスワード
注意点として、MySQLコマンドを使ってデータベースをバックアップしたときに「許可がありません」とメッセージが表示されたらエクスポート先のパスの確認を行ってください。
まとめ
MySQLデータベースのバックアップをエックスサーバーを使って検証してみました。
データベースの容量が小さいときは、サーバーパネルやphpMyAdminからでもMySQLデータベースのバックアップを取ることができます。
データ容量が大きいときは、SSH接続してコマンドでMySQLデータベースのバックアップを取ることをおすすめします。
一度、バックアップを取って練習をしてみてください。
- サーバーパネルからMySQLデータベースをダウンロード
- phpMyAdminからMySQLデータベースをエクスポート
- SSH接続してMySQLデータベースをダンプ