2013-02-06 75 views
1

我可以使用我創建的用戶名&密碼登錄到mysql。如何在mysql中創建沒有密碼的root用戶

我跑SELECT user FROM mysql.user;

,它顯示我創建的帳戶和根的3個實例。

1.)如何查看任何root用戶的密碼?

2.)如果不能關閉,那麼如何刪除這些root用戶,並創建一個沒有密碼的新root用戶?

回答

5

您看不到純文本密碼。

DELETE FROM mysql.user WHERE user='root' AND host <> 'localhost'; 
UPDATE mysql.user SET password = '' WHERE user='root'; 
FLUSH PRIVILEGES; 

在此之前,您應該運行mysql_secure_installation

如果你不能回來與[email protected],沒有密碼,請執行下列操作:

SQLSTMT="GRANT ALL PRIVILEGES ON *.* to [email protected]" 
SQLSTMT="${SQLSTMT} IDENTIFIED BY 'resetpwd' WITH GRANT OPTION;" 
echo ${SQLSTMT} > /var/lib/mysql/init.sql 
service mysql restart --init-file=/var/lib/mysql/init.sql 
rm -f /var/lib/mysql/init.sql 
SQLSTMT="UPDATE mysql.user SET password = '' WHERE user='root'" 
SQLSTMT="${SQLSTMT} AND host='localhost'; FLUSH PRIVILEGES;" 
mysql -uroot -presetpwd -e"${SQLSTMT}" 
mysql -uroot 
+0

我這樣做,但是當我登錄使用 '的mysql -u root' 的我得到的錯誤 'ERROR 1045(28000):拒絕訪問用戶 '根' @' localhost」的(使用密碼:否)'任何想法爲什麼或發生了什麼? – FluxEngine

2

建議不要使用空密碼的root用戶!

不過,在這裏是如何做到這一點

SET PASSWORD FOR [email protected]=PASSWORD(''); 

請並不是說你必須到MySQL被記錄爲根!

0

root的3個實例將可能是主機的變化。換句話說,[email protected]可能有一個,[email protected]%可能有一個。

如果您使用的是phpMyAdmin,則可以刪除不需要的用戶,或單擊Users選項卡重置密碼。

你可以檢查你不想要的用戶,然後點擊GoRemove selected users

或者重置特定用戶的密碼,您可以點擊Edit privileges,向下滾動到Change password部分,選擇No password,並創下Go

你可以下載phpMyAdmin here,你當然需要以root身份登錄才能做到這一點。

Users Reset pass