改めて人に聞かれると説明が微妙に難しいやつ[3] DBにおける"リストア"編
■ 前回のあらすじ
改めて人に聞かれると説明が微妙に難しいやつ[2] DBにおける"ダンプ"編
日頃サーバーサイドエンジニアとしてお仕事していると、「このダンプ使ってリストアしてね〜」とか、
自分が他のメンバーに言われることもあれば、自分から誰かに言うこともあるのですが(2回目)
そもそも"リストア"ってなんやねん
という質問を仮に初学者にされたら、またもや今の自分は明確に説明できない事に気が付きました。
そういう訳で今回はデータベース(以下 DB
と表記します)におけるリストアについて書いていきます。
※ DBには様々種類がありますが、今回もMySQLを例に話を進めさせていただきます🙇
結論だけ知りたい方は ■ DBにおける"リストア"の意味
をお読みください。
これを読む前の前提知識
- サーバーサイド技術の初歩的知識(CRUD操作の基本など)
- DB関連の初歩的知識(MySQLコマンド, テーブル・カラム・レコードの概念など)
本記事の想定読者
- サーバーサイド/DB初心者〜周辺知識がふわっとしている方
- フロントエンドエンジニアだけどDB知識もちょっと欲しい方
本記事では取り扱わないこと
- サーバーサイドアプリケーション技術の詳細
- ダンプについて(冒頭に記載した前回記事のリンクを参照ください🙇)
本題
■ "リストア"の語源について
前回同様、専門用語として考える前に一旦「英単語」としてどんな意味なのかを見ていきましょう。
理解につながるヒントがあるかもしれません(たぶん)
今回はわざわざ辞書を引く必要はないかもしれませんが・・・
restore[1]
to make something or something good or well again(~を再び良くすること/直すこと):
例: We will restore her to health.
(私たちは彼女の健康を取り戻します。)
当然と言えば当然ですが、これで「戻す」「直す」という直訳が得られました。
■ DBにおける"リストア"の意味
辞書のおかげでリストアの意味は大体わかりました。
では今回もMySQL公式リファレンスを見ていきましょう。
18.4.20 ndb_restore — MySQL Cluster バックアップのリストア
クラスタリストアプログラムは、別個のコマンド行ユーティリティー ndb_restore として実装されており、通常は MySQL の bin ディレクトリにあります。
このプログラムは、バックアップの結果として作成されたファイルを読み取り、格納されている情報をデータベースに挿入します。
https://dev.mysql.com/doc/refman/5.6/ja/mysql-cluster-programs-ndb-restore.html より
ここでいう バックアップの結果として作成されたファイル
というのが、前回記事で解説したダンプファイルを指します。
つまりダンプを元にデータベース情報をリストア(戻す/復元)するということですね💡
■ "リストア"の方法
こちらはリファレンスの別ページに説明がありました。
💡 参照記事
- 7.4 バックアップへの mysqldump の使用
- 7.4.2 SQL フォーマットバックアップのリロード
- 7.4.4 区切りテキストフォーマットバックアップのリロード
- 7.4.5 mysqldump のヒント
いずれもMySQLコマンドによるやり方で解説されていますが、
DBクライアントツール[2]からでも同様の操作ができると思います(※未検証)
あとがき
最後までお読みいただきありがとうございました🙏
今回もMySQL公式リファレンスサイトを頼らせていただきました。
かるーい内容の記事になってしまいましたが、前回の記事と併せてどこかのどなたかの参考になれば幸いです。
Typo指摘, ここは正しく無いのでは?等のコメントを寄せていただけるととてもうれしいです😇
都度修正・追記を続けてブラッシュアップしたいと思います👍
それでは次のシリーズ記事でまたお会いしましょう!
Discussion