2013-02-06 101 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