每当我尝试通过 SSH 登录我的 MySQL 服务器时,“root”用户都不要求我提供密码。
我已经尝试过这个 guide 的建议但是,我仍然没有运气。
UPDATE mysql.user
SET authentication_string = PASSWORD('MyPass'), password_expired = 'N'
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
和
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyPass';
我使用 phpMyAdmin 管理我的数据库,当我检查我的用户组时,在它说“root”没有密码之前,但是当我尝试上面的代码时,它将密码更改为"is",但仍然允许我通过 ssh 以 root 身份登录。
另一个问题是我无法在 phpMyAdmin 中使用“root”用户登录。
顺便说一句,我在 Debian9 上使用 MySQL 5.7.21
更新 4/10: 一些谷歌搜索引导我到线程说更高版本的 MySQL/phpMyAdmin 不再允许 root 登录,但一个月前我能够做到这一点,不幸的是我忘记了我所做的步骤..
最佳答案
你能检查你的主文件夹或 /etc/mysql/
中是否有 .my.cnf
文件吗?
它可能包含根凭据。
您还可以打印用户表的完整内容吗?在本地连接时可能还有另一个条目授予 root 权限。
关于mysql - 在 MySQL 中以 root 身份登录不需要密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49534915/