![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
mysql4.0を使用しています。
データーベースのバックアップをサーバー側で取りたいと思って色々調べたら
1.mysqldump
2.mysqlhotcopy
3./var/db/mysql/* をcopy
など色々あり、どれを使えばいいのかよくわかりません。リストアの方法も1と2の違いがよく分かりません。
1は何から何までフルバックアップできるそうですが、2ではデーターだけなんでしょうか?
また、3の場合も、コピーをとっておいたものをディレクトリごと/var/db/mysql/に戻すだけで、データーベースの全ての構造、データーなんかが再現されるのでしょうか?それなら3が一番簡単な気もしますが、mysqldをstopしてからやらなければならず、止めずにやるなら2だともありました。
私は以下のポリシーでバックアップを取りたいと考えてるのですが、どの方法でバックアップ&リストアするのがよいかアドバイスお願いします。
1.フルバックアップは週に1度。自動。mysqldは止めない。
2.日々更新されるデーターは毎日データーバックアップを自動でとりたい。mysqldは止めない。 (作成されたバックアップファイル事体は、日に1度、別サーバーへ転送されることになっていますので、ここでは同一サーバー内にバックアップファイルができればよい)
No.2ベストアンサー
- 回答日時:
1)通常の環境であればリストア時は/var/db/mysql/以下のコピーでOKです。
2)単純に/var/db/mysqlをコピーする方法はバックアップ先が破壊される可能性や一貫性のない場合があるのでバックアップとしての信頼性がありません。成功する可能性もないとはいえませんが・・・
3)物理バックアップはDBクラッシュ時のDBまるごとのリストアで使用しますが、論理バックアップであるmysqldumpはSQL文かテキストファイルに落とすので、手作業による部分リストアが可能になり、何かの時にあれば便利です。
大変わかりやすいご説明ありがとうございました。
とりあえずmysqlhotcopyを1日1回、mysqldumpを週1回自動でとるようにしてみました。
まだまだ初心者ですので、皆様のご指導本当に感謝いたします。
No.1
- 回答日時:
まず、高機能エンジンのInnoDBであればoracleのようなオンラインバックができるのですが、MyISAM テーブルではオンラインで可能ですが、原則テーブルをロックしてバックアップする擬似オンラインバックアップしかできません。
おそらく環境は後者のようですからそれを前提でいくと以下のようなバックアップ運用がよいと思われます。
・論理バックアップ
復旧の際以外にも必要になることが多々あるのでmysqldumpで定期的にデータバックアップ。
テーブル単位のロックでデータベース全体では一貫性がないバックアップがよいが、時間が許されるなら全テーブルロックでもよい。
・物理バックアップアップ
mysqlhotcopyを実行する。但しバックアップ中は全テーブル書き込みロックがかかるので、書き込み処理のない時間帯で行う。
ちなみに、中身はperlでlock,flush,tar,unlockをやっていてcpコマンドと同様の物理バックアップをやっている。
早々にご回答ありがとうございます。
とりあえず手動でmysqlhotcopyをしてみましたら、/var/db/mysql/以下のディレクトリ(データーベース)がコピーされていました。
リストアするときは、このコピーファイルを、/var/db/mysql/以下に戻してやるだけでいい訳ですよね。
実は今単純に自動でcpで/var/db/mysqlをコピーするシェルが毎日動いてたのですが、これは、危険なことだったんでしょうか?mysqlhotcopyの場合は、一応ロックをかけるわけですが、cpだとロックがかかってませんよね?
あと、mysqldumpはsql文を含んだバックアップ物として、一応あった方がいいという解釈でよろしいのでしょうか?
色々お聞きして申し訳ございませんが、ご指導のほどいただけましたら幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- デスクトップパソコン ウイルスに感染しないファイルのバックアップ方法について 5 2022/09/11 11:27
- MySQL XamppでインストールしたMySQLのフォルダのWinRARでのバックアップについて 1 2022/06/22 18:55
- iCloud iPhoneのiCloudの全体バックアップを使ったLINEのトーク履歴バックアップ・復元方法につい 1 2022/07/27 10:19
- LINE 大変困っています。助けて下さい。 LINEの書類とデータの容量が10GBを越えiphoneのストレー 1 2022/09/27 10:29
- システム 合計5GBのサイトを構成するデータファイルの集まり(ディレクトリ)があります。サーバーからローカルへ 2 2022/07/12 14:27
- Outlook(アウトルック) 標準アカウントをOUTLOOKアプリに登録するとほかのアカウントのメールもこのアドレスに受信される 1 2023/02/03 20:34
- ドライブ・ストレージ WindowsパソコンのバックアップとしてNASを導入したいけどセキュリティが不安 9 2023/08/24 15:43
- その他(クラウドサービス・オンラインストレージ) OneDriveを自動的にバックアップしたいのですが、どんな方法が良いでしょうか 1 2022/05/30 05:56
- その他(悩み相談・人生相談) スマホの機種変更をします。 連絡先や写真はサーバーに預けていますので問題はありません。 しかし、ライ 3 2022/05/07 01:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
保守・運用の日常業務を教えて...
-
SQL SERVER の復元でバージョン...
-
SQLServerのバックアップ
-
【DB】同じトランザクション内...
-
エクセルのフィルタ抽出が固まる
-
PCが悪くなって新しいPCにSSMS...
-
postgresql についてです
-
SQL*Loaderのコミットポイント...
-
SQLServer2012の復元ができない
-
DATファイルをEXCELで開きたい
-
PHP-オラクルでのトランザクション
-
業務用のデータベースサーバー...
-
復旧中のデータベースについて
-
SQLSERVERのデータファイル圧縮...
-
DBを復元したら「読み取り専用...
-
dBXL dBASEにお詳しい方を探し...
-
dbFailOnError とは?
-
.sdf
-
MS-Accessのエクスポートで異常...
-
SQLserverのデータベースの作成...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL Server Management Studio ...
-
復元を取り消したい
-
SQL Server エージェント ジョ...
-
保守・運用の日常業務を教えて...
-
Access レプリカの具体的な使い方
-
MySQL稼働中にDBのバックアッ...
-
データベースが大きすぎてリス...
-
SQLServer6.5間のオブジェクト...
-
11gにて開発、10g環境で動作は...
-
SQLServer7.0で質問があります
-
SQLSERVER2008 R8についてお願...
-
SQL Server2000 バッチでデータ...
-
SQLServer2008 R2 バックアップ
-
SQLサーバ2000のサーバ機移動の...
-
バックアップ方法
-
SQL SERVER の復元でバージョン...
-
SQLサーバのデータ保存先
-
SQLserver2000 StandardEdition...
-
Aというサーバーのデータベース...
-
Symantec System Recovery
おすすめ情報