考虑:
./mysqladmin -u root -p** '_redacted_'
输出(包括输入密码):
输入密码:
mysqladmin:连接到“localhost”的服务器失败错误:
‘用户’root’@‘localhost’的访问被拒绝(使用密码:YES)’
我怎样才能解决这个问题?
原文由 Harsh Trivedi 发布,翻译遵循 CC BY-SA 4.0 许可协议
考虑:
./mysqladmin -u root -p** '_redacted_'
输出(包括输入密码):
输入密码:
mysqladmin:连接到“localhost”的服务器失败错误:
‘用户’root’@‘localhost’的访问被拒绝(使用密码:YES)’
我怎样才能解决这个问题?
原文由 Harsh Trivedi 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Arch Linux 上
什么对我有用:
编辑 my.cnf 文件,通常可以在 /etc/mysql/my.cnf
找到,并在文件的底部/末尾附加这个 skip-grant-tables
。
通过调用 sudo systemctl restart mysqld
重启mysql服务
通过调用 sudo systemctl status mysqld
确保 mysql 服务已正常启动
通过调用 mysql -u root -p
使用“root”登录到 mysql
通过调用 flush privileges;
刷新权限
通过 CREATE USER 'root'@'localhost' IDENTIFIED BY 'rootpassword';
创建新用户
(如果您打算将此数据库与 PHP 一起使用),则应改为使用 CREATE USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'rootpassword';
通过依次调用以下命令检查您的更改是否已反映在 db 中:
use mysql;
SELECT User, password_last_changed FROM user;
退出 mysql 控制台并通过编辑 my.cnf 文件注释/删除 skip-grant-tables
(位置请参见步骤 1)
重启mysql服务(参考第2步和第3步)
就这样。
原文由 zep_ph 发布,翻译遵循 CC BY-SA 4.0 许可协议
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答2k 阅读
/etc/my.cnf
或/etc/mysql/my.cnf
,具体取决于您的发行版。skip-grant-tables
[mysqld]
mysql -u root -p
mysql> flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
设置新密码mysql -u root -p