
Ubuntu日本語フォーラム

ログインしていません。
お世話になっております。
この度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を構築しております。
オフライン
追伸::
連投すみません。
PHPMyAdminからのアクセスでも同様でrootからは問題なく利用できますが、その他のユーザーからは同様のアクセス拒否のエラーになってしまいました。
オフライン
追伸2::
さらに連投申しわけありません。いろいろ調べてゆくうちに情報が明らかになってきたので追記します。
ユーザー情報のテーブルがmysqlデータベースのuserテーブルであることがわかったので、調べてみるとデータの破損などはないようです。rootからですと端末からでもPHPMyAdminからでも表示することができました。テーブル内のデータが何を表わしているのかわからないのですが、パスワード以降の項目が(root以外のユーザーは)すべてNになっているのがなんかちょっとおかしい気がします。何となくの予想なのですがこれらは権限に関する情報のような気がするからです。
ここまでの情報で何か解決の道が開けるでしょうか?
オフライン
すいません。問題の解決では無くて、次回以降の話になりますが、私はpostgres派でmysqlはよく知りませんが、例えば
http://phpspot.net/php/pgmysqldump%82Ńo%83b%83N%83A%83b%83v%81%95%95%9C%8C%B3.html
にあるように、ダンプしてレストアするのがよいかと思います。
オフライン
hmatsueさん、貴重な情報ありがとうございます。
大切なデータなので次回からこの方法でバックアップを取りたいと思います。
いろいろな方法があるのですね…。。
オフライン
仮想マシンで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
あたりを参照して、ユーザの権限を設定しなおせば直るような気がします。
オフライン