我已經繼承了一臺安裝了mysql的服務器。我沒有任何用戶的mysql密碼,甚至沒有root用戶(儘管我擁有linux root密碼)。此外,我只知道其他用戶帳戶besdies root,並且沒有執行任何操作的權限,甚至沒有SELECT。當前密碼未知時重置MySQL root密碼
我試圖停止MySQL servicw,跳越授權表選項重新啓動,只是記錄在無密碼:
service mysqld stop
service mysqld start --skip-grant-tables &
mysql -u root
但得到以下錯誤:
Access denied for user 'root'@'localhost' (using password: NO)
然後我嘗試重置密碼:
mysqladmin -u root password 'newpw'
但是,這也給拒絕訪問埃羅河
我也嘗試登錄的其他用戶(不PW)和執行以下命令:
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
,並得到這個錯誤:
ERROR 1142 (42000): UPDATE command denied to user ''@'localhost' for table 'user'
我也試圖消除MySQL和重新安裝,但我得到同樣的錯誤。
有什麼建議嗎?
嘗試溶液[這些指令(http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html#resetting-permissions-unix)從手冊。 – 2012-04-26 17:03:23
請注意,如果您要使用'--skip-grant-tables',則可能需要直接啓動'mysqld',因爲這些選項不一定要通過init腳本傳遞。 – 2012-04-26 17:04:53
這個問題確實屬於[數據庫管理員](http://dba.stackexchange.com/)或[超級用戶](http://superuser.com/),而不是SO。 – eggyal 2012-04-26 17:06:31