Ubuntu12.04 LTSのMySQL環境を復元する

僕はフォーマットしてから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 51 20:20 ./
drwxr-xr-x 68 root root 4096 51 20:19 ../
-rw-r--r-- 1 root root 0 51 20:19 debian-5.5.flag
-rw-rw---- 1 mysql mysql 5242880 51 20:20 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 51 20:19 ib_logfile1
-rw-rw---- 1 mysql mysql 18874368 51 20:20 ibdata1
drwx------ 2 mysql root 4096 51 20:20 mysql/
-rw-rw---- 1 root root 6 51 20:20 mysql_upgrade_info
drwx------ 2 mysql mysql 4096 51 20:20 performance_schema/
drwx------ 2 mysql root 4096 51 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 919 2011 Brokendish/
-rw-r--r-- 1 root root 0 51 20:19 debian-5.5.flag
-rw-rw---- 1 mysql mysql 5242880 422 11:10 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 410 2011 ib_logfile1
-rw-rw---- 1 mysql mysql 10485760 422 01:29 ibdata1
drwx------ 2 mysql mysql 4096 316 23:08 mysql/
-rw-rw---- 1 root root 6 316 21:13 mysql_upgrade_info
drwx------ 2 mysql mysql 4096 51 20:20 performance_schema/
drwx------ 2 mysql root 4096 51 20:19 test/
drwx------ 2 mysql mysql 4096 317 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のメンテナンス「http://brokendish.org/debian/519/」をやる

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です