错误 1045 (28000):设置插件 = '' 后,用户 'root'@'localhost'(使用密码:YES)的访问被拒绝
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) after set plugin = ''
我安装了 MySQL 5.7 并希望为 root 启用无密码登录。
所以我执行了
mysql> update mysql.user set plugin='' where User='root';
mysql> flush privileges;
现在我无法再以 root 身份登录。既没有密码也没有密码。我分别收到以下错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我阅读了有关使用 mysqld_safe 的解决方案,但我无法使用它,因为我们使用的是 systemd。
有什么建议吗?理想情况下无需重新启动 mysqld 但很好...
我也试过了
mysqladmin flush-privileges
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
"建议?"
阿克!我无法理解什么会迫使某人认为 root
无需身份验证的用户登录是个好主意。
我建议我们重新考虑 "passwordless" 登录特权用户的安全隐患。 (这将是安全审计的危险信号。)如果我绝对必须实施无密码登录(因为已排除所有其他可能的替代解决方案),我只会为非常严格 有限权限。
要在 MySQL 中实现 "no password" 登录,我们可以对 plugin
使用 'native_mysql_password'
,对 [=14] 使用空字符串 ''
=].
(我不知道我们想要将 plugin
设置为空字符串的任何原因。)
好的,所以我最终停止了 mysqld 并执行了以下操作
systemctl stop mysqld
/usr/sbin/mysqld --skip-grant-tables &
mysql -u root
mysql> update mysql.user set plugin = 'mysql_native_password' where user = 'root';
mysql>flush privileges;
systemctl stop mysqld
systemctl start mysqld
它又开始工作了
我安装了 MySQL 5.7 并希望为 root 启用无密码登录。
所以我执行了
mysql> update mysql.user set plugin='' where User='root';
mysql> flush privileges;
现在我无法再以 root 身份登录。既没有密码也没有密码。我分别收到以下错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我阅读了有关使用 mysqld_safe 的解决方案,但我无法使用它,因为我们使用的是 systemd。
有什么建议吗?理想情况下无需重新启动 mysqld 但很好...
我也试过了
mysqladmin flush-privileges
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
"建议?"
阿克!我无法理解什么会迫使某人认为 root
无需身份验证的用户登录是个好主意。
我建议我们重新考虑 "passwordless" 登录特权用户的安全隐患。 (这将是安全审计的危险信号。)如果我绝对必须实施无密码登录(因为已排除所有其他可能的替代解决方案),我只会为非常严格 有限权限。
要在 MySQL 中实现 "no password" 登录,我们可以对 plugin
使用 'native_mysql_password'
,对 [=14] 使用空字符串 ''
=].
(我不知道我们想要将 plugin
设置为空字符串的任何原因。)
好的,所以我最终停止了 mysqld 并执行了以下操作
systemctl stop mysqld
/usr/sbin/mysqld --skip-grant-tables &
mysql -u root
mysql> update mysql.user set plugin = 'mysql_native_password' where user = 'root';
mysql>flush privileges;
systemctl stop mysqld
systemctl start mysqld
它又开始工作了