僕はフォーマットしてからUbuntu12.04をインストールしているので、今まで作ってきた環境が全て真っさらになっていますが、
Ubuntu11.10で使用していたMysqlの環境はバックアップさえしていればすぐ元に戻すことができます(あたり前か・・)
でも、ここのやり方はエクスポートしておいて、インポートするっ!。ではなくて、ディレクトリごと戻してしまうやり方です。
エクスポートしておいて、インポートするのが正当なやり方と思うけど、面倒くさいんで僕はマルっとヤッちゃいます。
でもこのやり方の場合予め「/var/lib/mysql」をバックアップしておく必要があります。
これさえバックアップしておけばあとは簡単です。必要なディレクトリ(データベース)をコピーしてあげるだけです。
ただ、デフォルトでMySQLは入っていないようなのでインストールからやります。
前提条件
・Ubuntu11.10の時のバックアップがあること
(ここでは~/臨時/var/lib/mysqlとしています)
やること
- Mysqlのインストール
- ログイン確認
- バックアップデータの取得
- ディレクトリのコピー
- テーブルデータの確認
●Mysqlのインストール
まずはMysqlのインストール「synapticパッケージマネージャ」でやる
必要最低限の対象パッケージは以下
mysql-server-5.5
mysql-common
mysql-cliant-5.5
ここらへんを選択すれば依存関係のあるものを調べてインストールしてくれる
その他に、必要であれば
libdb-mysql-perl
php5-mysql
python-mysqldb
とか色々入れとく
Mysqlの設定ファイルをみてデータの格納場所を調べる
cat my.cnf : datadir = /var/lib/mysql : |
の所がデータを格納しているところなので、ここにバックアップデータを戻す。
(ここはバックアップとっておいたほうがいいと思う。)
インストール直後のディレクトリを確認してみる
/var/lib/mysql
root@brokendishLocal:/var/lib/mysql# ll 合計 28696 drwx------ 5 mysql mysql 4096 5月 1 20:20 ./ drwxr-xr-x 68 root root 4096 5月 1 20:19 ../ -rw-r--r-- 1 root root 0 5月 1 20:19 debian-5.5.flag -rw-rw---- 1 mysql mysql 5242880 5月 1 20:20 ib_logfile0 -rw-rw---- 1 mysql mysql 5242880 5月 1 20:19 ib_logfile1 -rw-rw---- 1 mysql mysql 18874368 5月 1 20:20 ibdata1 drwx------ 2 mysql root 4096 5月 1 20:20 mysql/ -rw-rw---- 1 root root 6 5月 1 20:20 mysql_upgrade_info drwx------ 2 mysql mysql 4096 5月 1 20:20 performance_schema/ drwx------ 2 mysql root 4096 5月 1 20:19 test/ |
●ログイン確認
ログインしてみる
mysql -u root -pパスワード |
●バックアップデータの取得
Mysqlのインストール確認ができたので、環境を元に戻そうかと思います。
あらかじめバックアップを取得しておいた「~/臨時/var/lib/mysql」を「/var/lib/mysql」にかぶせるべし
●ディレクトリのコピー
cd /var/lib/mysql cp -Rp /home/hoge/臨時/var/lib/mysql/* ./ |
※僕は全部コピーしてしまうけど必要なディレクトリだけにしたほうがいいかも
cp -Rp /home/hoge/臨時/var/lib/mysql/必要なディレクト(データベース) ./
※注意:データベースのディレクトリ、ファイルのユーザ、グループは「mysql」で配置すること
ここ、rootとか違うユーザだとエラーになるよ!
もし、rootとか違うユーザになっている場合は「chown mysql.mysql 対象ファイル」でオーナ変更をする
戻し後のディレクトリを確認
ll drwx------ 2 mysql mysql 4096 9月 19 2011 Brokendish/ -rw-r--r-- 1 root root 0 5月 1 20:19 debian-5.5.flag -rw-rw---- 1 mysql mysql 5242880 4月 22 11:10 ib_logfile0 -rw-rw---- 1 mysql mysql 5242880 4月 10 2011 ib_logfile1 -rw-rw---- 1 mysql mysql 10485760 4月 22 01:29 ibdata1 drwx------ 2 mysql mysql 4096 3月 16 23:08 mysql/ -rw-rw---- 1 root root 6 3月 16 21:13 mysql_upgrade_info drwx------ 2 mysql mysql 4096 5月 1 20:20 performance_schema/ drwx------ 2 mysql root 4096 5月 1 20:19 test/ drwx------ 2 mysql mysql 4096 3月 17 21:21 wordpressdb/ |
●テーブルデータの確認Mysqlにログインして確認してみる
# mysql -u root -pパスワード Brokendish mysql> show tables; +----------------------+ | Tables_in_Brokendish | +----------------------+ | tekitoo | +----------------------+ 1 row in set (0.00 sec) mysql>; mysql>; select * from tekitoo; +------+------+--------+------+------+ | id | msg | name | tmp1 | tmp2 | +------+------+--------+------+------+ | 001 | aaa | bbb | ccc | ddd | | 002 | eee | fff | ggg | hhh | | 003 | h | i | j | k | | 004 | あ | いい | 卯 | 絵 | | 006 | sa | さ | サ | 佐 | | 006 | ki | き | 木 | キ | | 005 | ka | か | 可 | kaka | | 007 | た | ta | 多 | タ | | 008 | な | 菜 | ナ | na | | 009 | aa9 | bb9 | cc9 | dd9 | | 010 | a10 | b10 | c10 | d10 | | 010 | a10 | b10 | c10 | d10 | | 011 | a011 | b011 | c011 | d011 | | 012 | a012 | b012 | c012 | d012 | | 013 | a013 | b013 | c013 | d013 | +------+------+--------+------+------+ 15 rows in set (0.01 sec) |
フムフム戻ってる。
で、必要であればMySQLのメンテナンス「https://brokendish.org/debian/519/」をやる