お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-05-23 22:18:47

oosamuuy
メンバ
登録日: 2009-03-09

mysqlのデータの復旧について

お世話になっております。
この度MySQLの調子が悪くて、データのバックアップをとってからmysql全体を削除してクリーンインストールしたのですが、バックアップデータを/var/lib/mysql内に戻すとパスワードや権限のデータがどうやら反映されていないようなのです。root以外のユーザーからmysqlにアクセスすると
Error 1045 (28000): Access denied for user 'sampleuser'@'localhost' (using password: YES)という感じで断られてしまいます。以前も同様のことをやったのですが、そのまますべての機能がきちんと反映されていました。
バックアップはrsyncでとっていてパーミッションやオーナーはそのまま保持ると思っていたのですが、バックアップデータの所有者が「gdm - Gnome Display Manager」となっていてちょっとおかしなことになっていて、ちょっとおかしいです。
おそらく…なのですが、mysqlデータの所有者はmysqlだったような気がするのですが、いかがなものでしょうか?

すべてのデータベースファイル(ディレクトリも含めて)のパーミッションを777にしてみたり、所有者をmysqlにしてみたりといろいろやってみましたが、root以外のユーザーではログインできませんでした。
mysqlのユーザー情報のデータを格納したファイルがどこかにあって(おそらく…)それを読み込んで処理している…というようなことをむかしどこかで読んだ記憶があるのですが、いろいろやってはいるものの手詰まりとなってしまいました。

mysqlのデータ(/var/lib/mysql以下)の正しいパーミッションと所有者の設定はどんなでしょうか?
また、それ以外に原因あるでしょうか?
また、エラーなどのログがある場所なんかも含めてご教授頂きたいです。
識者の方がいらしたらおしえて頂きたいです。よろしくお願いします。

OSは9.10で、LAMPを構築しております。

オフライン

 

#2 2010-05-23 22:29:14

oosamuuy
メンバ
登録日: 2009-03-09

Re: mysqlのデータの復旧について

追伸::
連投すみません。
PHPMyAdminからのアクセスでも同様でrootからは問題なく利用できますが、その他のユーザーからは同様のアクセス拒否のエラーになってしまいました。

オフライン

 

#3 2010-05-23 22:50:13

oosamuuy
メンバ
登録日: 2009-03-09

Re: mysqlのデータの復旧について

追伸2::
さらに連投申しわけありません。いろいろ調べてゆくうちに情報が明らかになってきたので追記します。

 ユーザー情報のテーブルがmysqlデータベースのuserテーブルであることがわかったので、調べてみるとデータの破損などはないようです。rootからですと端末からでもPHPMyAdminからでも表示することができました。テーブル内のデータが何を表わしているのかわからないのですが、パスワード以降の項目が(root以外のユーザーは)すべてNになっているのがなんかちょっとおかしい気がします。何となくの予想なのですがこれらは権限に関する情報のような気がするからです。
 ここまでの情報で何か解決の道が開けるでしょうか?

オフライン

 

#4 2010-05-23 23:05:49

hmatsue
アドバイザ
登録日: 2009-03-10

Re: mysqlのデータの復旧について

すいません。問題の解決では無くて、次回以降の話になりますが、私はpostgres派でmysqlはよく知りませんが、例えば
http://phpspot.net/php/pgmysqldump%82Ńo%83b%83N%83A%83b%83v%81%95%95%9C%8C%B3.html
にあるように、ダンプしてレストアするのがよいかと思います。

オフライン

 

#5 2010-05-24 11:49:58

oosamuuy
メンバ
登録日: 2009-03-09

Re: mysqlのデータの復旧について

hmatsueさん、貴重な情報ありがとうございます。
大切なデータなので次回からこの方法でバックアップを取りたいと思います。
いろいろな方法があるのですね…。。

オフライン

 

#6 2010-05-24 12:45:29

hmatsue
アドバイザ
登録日: 2009-03-10

Re: mysqlのデータの復旧について

仮想マシンでMySqlの導入だけしてみました。

コード:

/var/lib$ sudo ls -l mysql
合計 20532
-rw-r--r-- 1 root  root         0 2010-05-24 12:38 debian-5.1.flag
-rw-rw---- 1 mysql mysql        6 2010-05-24 12:38 hiroo-laptop.pid
-rw-rw---- 1 mysql mysql  5242880 2010-05-24 12:38 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 2010-05-24 12:38 ib_logfile1
-rw-rw---- 1 mysql mysql 10485760 2010-05-24 12:38 ibdata1
drwx------ 2 mysql root      4096 2010-05-24 12:38 mysql
-rw-rw---- 1 root  root         6 2010-05-24 12:38 mysql_upgrade_info

っぽいです。
ご参考まで。

DB内でのユーザ管理の話であれば、
http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html#doc1_id304
あたりを参照して、ユーザの権限を設定しなおせば直るような気がします。

オフライン

 

Board footer

Powered by FluxBB