您的位置:首页技术文章
文章详情页

docker - MySQL 报错:Access denied for user ’xxx’@’localhost’

【字号: 日期:2022-06-20 14:02:53浏览:8作者:猪猪

问题描述

使用 MySQL 创建一个新的用户,理论上是这样的,先用 root 用户登录,然后CREATE USER ‘newuser’@‘localhost’ IDENTIFIED BY ’12345’;用 docker 搭建的开发环境,数据库主机的名字是 db 不是 localhost,于是 CREATE USER ‘newuser’@‘db’ IDENTIFIED BY ’12345’;

然后我登录遇到问题了:mysql -u newuser -p输入密码后提示Access denied for user ’newuser’@’localhost’ (using password: YES)

好像是主机名的问题,具体因为啥不太清楚,请教一下大家,谢谢

问题解答

回答1:

用下面这个试试!

mysql --host=db -u root -p 回答2:

的先用root账户进去看看newuser有没有连接localhost的权限

回答3:

mysql里的localhost指的是本机,不是机器名

回答4:

问题解决了,请教了一位熟悉 docker 的大神:需要这样来创建:

CREATE USER ’newuser’@’%’ IDENTIFIED BY ’12345’;

查看用户与主机:select host, user, password from mysql.user;

返回的东西像这样:

hostuserpassword%root*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B%app*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1%newuser*00A51F3F48415C7D4E8908980D443C29C69B60C9

3 rows in set (0.00 sec)

相关文章: