2009-02-20

mysql....麥系扣

我遇到問題…
remi更新站台+phpmyadmin 3.1.2+mysql 5.1.31+PHP5.28..........

首先…因為phpmyadmin 3.1.2要php 5.2以上…但centos內裝的為5.1…phpmyadmin會跟你說不合

所以,要加remi來申級到5.2php

不過,最好是在安裝centos的remi之後,進到/etc/yum.repo.d中…把Centos-Base與media先放到別的地方,要不然在yum install或update時,會更新到base的舊版…

不曉得為什麼yum不是自己判斷應該裝哪一個…但也有可能是remi的關係吧…

所以,今天就犯了個錯,base的與remi的我都不小心安裝了mysql,所以engine就會有二個…這會導致mysql啟動錯誤…[timeout.......mysql deamon]之類的訊息

自己玩弄了好久…才發現原來是二個mysql-engine的關係…也發現了yum.repo.d中的base、media先remark起來…只更新remi的就好


雖然這樣更新完了…也正常啟動…
結果,就在我利用[mysqladmin -u root password XXXXXX]
之後,再用phpmyadmin登入root:XXXXXXX,發現不能登入
但用預設的admin可以…

最後,還是靠google…在酷!學園找到一個還原mysql root的方式…
網址是:http://phorum.study-area.org/index.php?topic=9223.0

大意是,把mysqld(原來mysqld的原名是mysql deamon)停止,
然後在shell下輸入[mysqld_safe --user=mysql --skip-grant-tables --skip-networking &]
mysqld_safe…mysql的安全模式…
enter之後,你會覺得畫面有一堆文字跑過,沒關係,再按一次enter,這時候你就進入了mysql的safe mode

接著,輸入[mysql -u root mysql]
用root進入mysql的mysql資料庫…這邊的root是不用密碼的…

然後,就會進入mysql shell之下…開始就是把root重設密碼
1[mysql> UPDATE user SET Password=PASSWORD('xxxxxxxxxxxxxxx') where USER='root';]
2[mysql> FLUSH PRIVILEGES;]
1是把user資料表中的root的密碼直接設定為PASSWORD屬性的xxxxxxxxxx內容
flush privileges…刷新

接著就\q或exit離開mysql safe mode

就會回到linux shell,再來[service mysqld restart]把mysqld服務重啟…這邊的重啟後就會先結束目前的safe mode,然後再進入正常normal mode的mysql-service…

接著就再進入phpmyadmin網頁登入root…就正常了

沒有留言: