mysqlのバックアップとリストア
今回は、mysqlのバックアップとリストア(復元)についての簡単な解説を記述してみます。
やり方には、いろいろありますが、ここでは、コンソールからの実行(コマンド)でのバックアップを行ってみましょう。
mysqlのバックアップ方法
- SSH/Telnetでサーバーへログインします。
- mysqlのバックアップを実施します。
$ mysqldump -hzzzz -uxxxx -pyyyy nnnn > ffff
zzzz:mysqlのホスト名 ログインしたサーバーと同じ場合は、”localhost”でOK
xxxx:mysqlのユーザ名
yyyy:mysqlのパスワード
nnnn:mysqlのデータベース名
ffff:バックアップしたいファイル名(カレントディレクトリにない場合は、フルパスで指定します。)上記では、データベース丸ごとのバックアップです。
もし、データベース内のテーブル毎にバックアップしたい場合は、nnnn:mysqlのデータベース名の後に、テーブル名を加えると、各テーブル毎のバックアップを作成することができます。$ mysqldump -hzzzz -uxxxx -pyyyy nnnn mmmm > ffff
mmmm:テーブル名
また、キャラクターコードが、mysqlのデフォルトと異なることがわかっている場合は、バックアップに用いるデフォルトのキャラクターコードを指定することができます。
$ mysqldump --default-character-set=utf8 -hzzzz -uxxxx -pyyyy nnnn > ffff
上記の例では、デフォルトのキャラクターコードをutf8とした例です。
その他に、
ujis:EUCコード
sjis:ShiftJISコード
などがあります。--default-character-set=binary
とすると強制的に、何の変換もしないようになります。変な文字が出力ファイルの中にある場合は、文字コードの変換に失敗していることが考えられます。その際は、上記のbinaryを指定すると、うまくいくことが多いです。
--default-character-set
は、基本的に、同じサーバーへのリストア(復元)のみであれば、何も指定する必要はないと思います。
もし、出力されたファイル内の文字列が正しく表示されない場合については、指定しなければならないことがあります。 - FTPなどを用いて、バックアップしたファイルをローカルPCなどへダウンロードし、保管します。
mysqlのリストア(復元)方法
何かしら問題があって、データベースを以前の状態に戻したい場合に用います。
実際に、この手順を行うと現在のデータベースは、一旦、消去され、バックアップした日付の状態のデータを再度書き込む処理が行われます。
必ず、バックアップが正しく行われたものを用いてください。
- FTPなどを用いて、バックアップしたファイルをサーバーへアップロードします。
- SSH/Telnetでサーバーへログインします。
- mysqlのリストアを実施します。
$ mysql -hzzzz -uxxxx -pyyyy -Dnnnn < ffff
zzzz:mysqlのホスト名 ログインしたサーバーと同じ場合は、”localhost”でOK
xxxx:mysqlのユーザ名
yyyy:mysqlのパスワード
nnnn:mysqlのデータベース名
ffff:1項でアップロードしたファイル名(カレントディレクトリにない場合は、フルパスで指定します。)
独自ドメインが使える格安レンタルサーバーなら
- 何といても安い!ハッスルサーバー
- 安定感抜群のさくらインターネット(スタンダード)
- 早さと容量のさくらインターネット(プレミアム)
がおすすめです。
このお値段でMySQLもphpも動かせますから、とりあえず、自分のサイトを作ってみたい方には、おすすめです。
この記事を読んだ人は次の記事も読んでいます:

口コミ・評判
口コミ・評価を投稿 :