
Ubuntu日本語フォーラム

ログインしていません。
お世話になっております。
アップデートマネージャーで自動的にアップデートをしておりますが、先日よりMySQL(mysql-server-5.1)の更新時にエラーが起きてしまいました。
内容は、
このバージョンでの変更点:
5.1.37-1ubuntu5.1
5.1.37-1ubuntu5.4
というもので、エラーは、
E: /var/cache/apt/archives/mysql-server-5.1_5.1.37-1ubuntu5.4_i386.deb: サブプロセス 新 pre-removal スクリプト はエラー終了ステータス 1 を返しました
というものでした。どうやら、5.1.37-1ubuntu5.1を5.1.37-1ubuntu5.4に置換する際にエラーが発生している模様です。MySQLは現在も使用しておりますが今のところ快適に使えています。後々面倒なことにならないようにアップデートはきちんと行っておりますが、この部分に関してはエラーが出てアップデートできません。
もし同じ症状の方などいらっしゃいましたら力添えください。
環境はUbunru 9.10でMySQL自体は殆どデフォルトの状態で使用しております。
よろしくお願いします。
オフライン
しばらく間をおいてしまいました。
いろいろと原因を探っていたところ、手動でアップデートしようとおもいMySQLを止めてみましたがストップさせることができませんでした。
root@myhost:/home/omnioo# /etc/init.d/mysql stop
* Stopping MySQL database server mysqld [fail]
僕自身MySQLの詳細な部分まで知識がないのでなかなかその原因にたどり着けないのですが、どこら辺りを確認してみればよいでしょうか?
現在のところMySQLのバージョンはmysqladmin Ver 8.42 Distrib 5.1.37です。
以下のようなエラーがsyslogの中に出ていました。
Jul 3 22:21:09 myhost mysqld_safe: Starting mysqld daemon with databases from /var/lib/mysql
Jul 3 22:21:09 myhost init: apport post-stop process (1321) terminated with status 1
Jul 3 22:21:09 myhost mysqld: 100703 22:21:09 [Note] Plugin 'FEDERATED' is disabled.
Jul 3 22:21:09 myhost cron[1427]: (CRON) INFO (Running @reboot jobs)
Jul 3 22:21:02 myhost ntpdate[941]: step time server 91.189.94.4 offset -6.992727 sec
Jul 3 22:21:03 myhost anacron[1320]: Normal exit (0 jobs run)
Jul 3 22:21:04 myhost console-kit-daemon[995]: WARNING: Couldn't read /proc/994/environ: Failed to open file '/proc/994/environ': No such file or directory
Jul 3 22:21:04 myhost mysqld: 100703 22:21:04 InnoDB: Started; log sequence number 0 43755
Jul 3 22:21:04 myhost mysqld: 100703 22:21:04 [Note] Event Scheduler: Loaded 0 events
Jul 3 22:21:04 myhost mysqld: 100703 22:21:04 [Note] /usr/sbin/mysqld: ready for connections.
Jul 3 22:21:04 myhost mysqld: Version: '5.1.37-1ubuntu5.4' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
Jul 3 22:21:04 myhost /etc/mysql/debian-start[1587]: Upgrading MySQL tables if necessary.
Jul 3 22:21:04 myhost /etc/mysql/debian-start[1596]: Looking for 'mysql' as: /usr/bin/mysql
Jul 3 22:21:04 myhost /etc/mysql/debian-start[1596]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Jul 3 22:21:04 myhost /etc/mysql/debian-start[1596]: Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/run/mysqld/mysqld.sock' '--host=localhost' '--socket=/var/run/mysqld/mysqld.sock' '--host=localhost' '--socket=/var/run/mysqld/mysqld.sock'
Jul 3 22:21:04 myhost /etc/mysql/debian-start[1596]: /usr/bin/mysqlcheck: Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) when trying to connect
Jul 3 22:21:04 myhost /etc/mysql/debian-start[1596]: FATAL ERROR: Upgrade failed
Jul 3 22:21:04 myhost /etc/mysql/debian-start[1610]: Checking for insecure root accounts.
オフライン
これを見るとスクリプトがログインのときに使うユーザー (debian-sysmaint) のパスワードが、MySQL に登録されているものと異なってしまっているようです
スクリプトがログインのときに使うユーザーのパスワードは /etc/mysql/debian.cnf に記載されています
確認するにはコマンドラインで sudo grep password /etc/mysql/debian.cnf を実行してください (sudo を付けないとエラーになります)
パスワードが確認できたら、これを MySQL に登録しなおします
mysql コマンドを実行して MySQL のプロンプトが表示されたら以下のコマンドを実行します
set password for 'debian-sys-maint'@'localhost'=password('PASSWORD');
※ PASSWORD の部分は先に確認したパスワードに置き換えてください
登録できたら exit を実行して MySQL を抜けます
以上でスクリプトがログインのときに使うユーザーのパスワードの不一致が解消できているはずです
オフライン
返信遅くなりました。
ryさんありがとうございます。ばっちり直りました。
debian-sys-maintのパスワードとの不一致でした。MySQLはそこそこ使っているのですが、さすがに中身の方までは全くわからなかったので大変助かりました。また勉強させてもらった感じです。ありがとうございます。
オフライン