【Docker】【MySQL】(Ubuntu) Access denied for user ''@'172.17.0.1'(using password: YES)

Overview

    • 问题:
    • 环境说明
    • Solution
    • Reference - N/A



问题:

使用 $ mysql 或 mysql-workbench 或 navicat15 连接本机的 docker-mysql 出现如下错误:

Access denied for user ''@'172.17.0.1'(using password: YES)

【Docker】【MySQL】(Ubuntu) Access denied for user ''@'172.17.0.1'(using password: YES)_第1张图片

外部图片连接备份:https://i.loli.net/2020/04/24/amQNLKCJzi6kRuH.png

环境说明

n/a



Solution

~# docker ps -a |grep mysql
<ID>
~# docker exec -it  $(docker ps -qa | grep ) bash
root@<ID>:/# mysql -uroot -p
Enter Password:
mysql> CREATE USER 'joseph'@'172.17.0.1' IDENTIFIED BY '123456';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'joseph'@'172.17.0.1' WITH GRANT OPTION;
mysql> flush privileges;
mysql> exit
root@<ID>:/# exit
~#
  • 创建 '<用户>'@'localhost' (or ''@'127.0.0.1') 是“只能”从 docker 内部(登录)使用的。
    如:
    ~# docker exec -it  bash
    root@<ID>:/# mysql -u joseph -h 127.0.0.1 -p
    Enter Password:
    mysql> SELECT current_user();
    mysql> SELECT current_user();
    +------------------+
    | current_user()   |
    +------------------+
    | [email protected] |
    +------------------+
    1 row in set (0.00 sec)
    
    mysql> 
    
  • 需要从宿主机的 mysql client 工具登录使用,需要创建一个可以从 172.17.0.1 地址访问的账户。


Reference - N/A


你可能感兴趣的:(数据库)