删除所有MySQL连接后新建连接失败,用root却成功,求解答
问题分析与解决方案
错误原因
- 你尝试使用的
admin用户不存在于MySQL系统中,或者该用户未被授权从localhost/127.0.0.1地址连接数据库。 - 报错信息
using password: NO说明你在创建连接时未正确填写密码,或者密码没有被正确传递到MySQL服务端。 - 终端命令
mysql -u root -p -h 127.0.0.1 -P 3306无结果,大概率是你执行命令后未按提示输入安装时设置的root密码,导致验证失败。
解决步骤(若要使用admin用户连接)
- 先通过已成功连接的
root账户进入MySQL命令行界面。 - 创建
admin用户并设置密码:-- 创建仅允许本地(localhost)连接的admin用户 CREATE USER 'admin'@'localhost' IDENTIFIED BY '你要设置的密码'; -- 若需要通过任意IP连接(学习环境适用,生产环境不建议),可替换为: -- CREATE USER 'admin'@'%' IDENTIFIED BY '你要设置的密码'; - 为
admin用户赋予必要权限(学习场景可直接赋予全部权限):GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost'; -- 对应上面的'%'用户,替换为:GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%'; FLUSH PRIVILEGES; - 退出当前root连接,使用
admin用户重新创建连接,确保填写正确的密码,并匹配连接方式:- 选择
TCP/IP时,主机填127.0.0.1 - 选择
Local Socket/Pipe时,主机填localhost
- 选择
为什么root连接能成功
root是MySQL安装过程中默认创建的超级管理员账户,默认拥有数据库的全部操作权限,且默认被允许从localhost/127.0.0.1地址连接。你之前用root的终端命令失败,是因为未正确输入安装时设置的密码;而后来在图形化工具中明确输入了正确密码,所以验证通过,连接成功。
内容的提问来源于stack exchange,提问作者loyip26905
相关产品推荐
相关产品推荐

