mysqlなどのデータベースは、バックアップを作っておかないと、ウェブサーバーが死んだときにたいへん困ったことになる。
バックアップをとるには次のようにすればよい。
mysqldump -u USER_NAME -p -h HOST_NAME DB_NAME > OUTPUT_FILE_NAME
mysqlの実データは/var/lib/mysqlに置いてあることが多い。このディレクトリをまるごとバックアップしておけば簡単に復元できそうな感じがする。しかし、実際はそれほど簡単でもなく少し手間がかかる。データベースmotono_dbを復元する場合を考える。
- まず旧サーバーと同じバージョンのmysqlを新サーバーに用意する。
- 新サーバーでmysqldはとめておく。
- 復元したいデータベースの実データを新サーバーの/var/lib/mysqlにおく。つまり旧サーバーの/var/lib/mysqlを新サーバーの同じ場所に置く。新サーバーの/var/lib/mysqlは名前を変えてとっておく。
- 上述のmysqldumpでデータベースmotono_dbのバックアップファイルを作る。
- 新サーバーの/var/lib/mysqlにもどす。
- mysqlを起動しデータベースmotono_dbを新規作成する。
次のようにしてデータベースを復元する。mysql -u USER_NAME -p -h HOST_NAME motono_db < OUTPUT_FILE_NAME
これでもとのデータベースmotono_dbが復元される。