2012-10-03 93 views
0

我將RootPermitLogin設置爲'no',並使用passwd -l鎖定系統'root'帳戶。無論如何,我認爲MySQL的'root'賬戶與系統賬戶是「不同的」!問題是,現在如果我嘗試像(例如)命令:MySQL和系統'root'帳戶

zcat db.sql.gz | mysql -u root -p db_name 

我得到:ERROR 1045(28000):

訪問被拒絕的用戶 '根' @ 'localhost' 的(使用密碼:是)

好吧我鎖定了我的系統「root」帳戶,但我之前爲我的MySQL'root'帳戶設置了一個不同的密碼!這裏發生了什麼事?而奇怪的是,當我嘗試執行這些命令時遇到此錯誤,但WordPress或SMF等應用程序使用相同的MySQL「root」帳戶密碼管理其數據庫。

我在Ubuntu 12.04 。

+0

與Linux一樣,只有在絕對必要時才應使用root帳戶。使用這個經驗法則可以防止你犯難以糾正的錯誤。 –

回答

0

MySQL root帳戶是內部MySQL管理帳戶。

Linux root用戶帳戶是完全不同的東西,它與MySQL無關。

+0

那麼,爲什麼如果密碼正確設置爲MySQL的「root」帳戶(事實上WordPress和SMF可以訪問他們的數據庫),我會得到這個錯誤? – MultiformeIngegno

+0

MySQL登錄需要3件東西:1.有效用戶2.有效密碼3.有效主機,這就是爲什麼有關於root @ localhost(不僅僅是root)的信息。也許你的SMF或Wordpress可以從一個主機連接,但你不能從其他主機,即使有效的用戶和密碼。還有一件事 - 也許WordPress和SMF有單獨的MySQL帳戶,他們沒有使用root帳戶? – Kamil

+0

呃..不,他們使用同一個'root'帳戶,並且在同一個主機中。我甚至無法輸入密碼,因爲我在輸入密碼之前得到了該錯誤... – MultiformeIngegno