mysqlのバックアップとリストア
今回は、mysqlのバックアップとリストア(復元)についての簡単な解説してみます。
やり方には、いろいろありますが、ここでは、コンソールからの実行(コマンド)でのバックアップおよびリストア(復元)を行ってみます。
ここで記述する内容は、SSH/Telnetなどでサーバーへログインできる環境がないとできません。
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項でアップロードしたファイル名(カレントディレクトリにない場合は、フルパスで指定します。)
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。
関連記事
口コミ・評判
口コミ・評判を投稿 :