如何在mysql中创建没有密码的root用户

Flu*_*ine 2 mysql

我可以使用我创建的用户名和密码登录mysql.

我跑了 SELECT user FROM mysql.user;

它显示我创建的帐户和3个root实例.

1.)如何查看任何root用户的密码?

2.)如果不能关闭,如何删除那些root用户,并创建一个没有密码的新root用户?

Rol*_*DBA 6

您无法看到纯文本密码.

DELETE FROM mysql.user WHERE user='root' AND host <> 'localhost';
UPDATE mysql.user SET password = '' WHERE user='root';
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)

在执行此操作之前,您应该运行mysql_secure_installation.

如果您无法重新使用root@localhost密码,请执行以下操作:

SQLSTMT="GRANT ALL PRIVILEGES ON *.* to root@localhost"
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
Run Code Online (Sandbox Code Playgroud)