アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在perlを使ってウェブフォームからMySQLのログイン用パスワードを変更しようとしています。

パスワード変更自体は
$sth = $db->prepare("
UPDATE user SET PASSWORD = PASSWORD('$new_pwd')
WHERE Host = 'localhost' AND User = '$uid'")

のようにすることでできたのですが、変更が反映されるタイミングが
MySQLの再起動後になってしまっています。

変更が即時に反映される、あるいはperlでMySQLの再起動をかける方法がありましたら教えていただけませんでしょうか。

ウェブフォーム自体のログイン認証をMySQLのDB接続で行っているので困っています。それ自体を別の方法で行えば回避はできるのですが、できれば解決したいと考えています。

よろしくお願いいたします。

使用OS:CentOS 5.1
MySQL 5.0.22

A 回答 (1件)

推測で申し訳ないのですが、Commitしてないからとかはないですよね?



セッションが一旦切れる事によって反映されている?
セッションが切れる迄は、他のセッションからは反映されていると見えないので変更されたように見えない。
と、言う事なのかな?と。
再起動で反映されているのは、このセッションが切れる事で反映されているのかもです。

Perlで再起動の方法は知りませんが、他のWeb操作から問題出ませんか?
再起動すると他の処理が切れてしまいますよね?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

Commitはしています。
確かに再起動できたとしても他の処理が切れしまう問題がありますね…。

他にも何か方法がないか探ってみたいと思います。

お礼日時:2008/05/07 10:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!