찾다

 >  Q&A  >  본문

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

使用 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)

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

迷茫迷茫2874일 전670

모든 응답(4)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-04-17 15:05:55

    아래에서 시도해 보세요!

    으아악

    회신하다
    0
  • 黄舟

    黄舟2017-04-17 15:05:55

    먼저 루트 계정을 사용하여 newuser가 localhost에 연결할 수 있는 권한이 있는지 확인하세요.

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-17 15:05:55

    mysql의 localhost는 컴퓨터 이름이 아닌 로컬 컴퓨터를 나타냅니다

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-17 15:05:55

    문제가 해결되었습니다. docker에 대해 잘 아는 마스터에게 조언을 구했습니다.
    이렇게 만들어야 합니다.

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

    사용자 및 호스트 보기:
    select host, user, password from mysql.user;

    다음과 같이 반환합니다.

    host user password
    % root *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
    % app *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1
    % newuser *00A51F3F48415C7D4E8908980D443C29C69B60C9

    3행 세트(0.00초)

    회신하다
    0
  • 취소회신하다