无法将 root MySQL 密码设置为空
Can't set root MySQL password to null
安装 mysql 时,我没有在 root 密码字段中输入任何内容,但是当我 运行 mysql -u root
时,我仍然得到 Access denied for user 'root'@'localhost'
.
我在没有 g运行t 表的安全模式下启动 mysql,sudo mysql_safe --skip-grant-tables &
,然后毫无问题地进入 mysql -u root
。
然后我做了 use mysql; update user set authentication_string=null where user='root';
我得到了:
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
有人知道为什么密码没有更新吗?
你忘了
FLUSH PRIVILEGES;
一步一步来就是这样
停止 MySQL 服务器。
sudo /etc/init.d/mysql stop
开始mysqld配置。
sudo mysqld --skip-grant-tables &
以 root 身份登录 MySQL。
mysql -u root mysql
用您的新密码替换 YOURNEWPASSWORD!
UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; exit;
我必须将插件设置为 mysql_native_password
,因此密码重置部分如下所示:
update user set authentication_string=password(''), plugin='mysql_native_password' where user='root'; FLUSH PRIVILEGES;
安装 mysql 时,我没有在 root 密码字段中输入任何内容,但是当我 运行 mysql -u root
时,我仍然得到 Access denied for user 'root'@'localhost'
.
我在没有 g运行t 表的安全模式下启动 mysql,sudo mysql_safe --skip-grant-tables &
,然后毫无问题地进入 mysql -u root
。
然后我做了 use mysql; update user set authentication_string=null where user='root';
我得到了:
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
有人知道为什么密码没有更新吗?
你忘了
FLUSH PRIVILEGES;
一步一步来就是这样
停止 MySQL 服务器。
sudo /etc/init.d/mysql stop
开始mysqld配置。
sudo mysqld --skip-grant-tables &
以 root 身份登录 MySQL。
mysql -u root mysql
用您的新密码替换 YOURNEWPASSWORD!
UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; exit;
我必须将插件设置为 mysql_native_password
,因此密码重置部分如下所示:
update user set authentication_string=password(''), plugin='mysql_native_password' where user='root'; FLUSH PRIVILEGES;