Доступ запрещен для пользователя » я » @ «локальный хост» (с использованием пароля: ДА)

#mysql #docker-compose

Вопрос:

Мой докер-compose.yaml:

 version: '3'
services:
  mysql57:
    container_name: mysql57
    image: mysql:5.7.29
    ports:
      - "3306:3306"
    volumes:
      - $HOME/:/var/lib/mysql
    environment:
      - MYSQL_ALLOW_EMPTY_PASSWORD=yes
 

Мой конфигурационный файл бд:

 nemo:
  default_cluster: local
  default_database: my_local
  clusters:
    local:
      databases:
        my_local:
          user: me
          password: me
          host: 127.0.0.1 # localhost works for me
 

mysql:

 mysql> SHOW GRANTS;
 --------------------------------------------------------------------- 
| Grants for me@localhost                                           |
 --------------------------------------------------------------------- 
| GRANT ALL PRIVILEGES ON *.* TO 'me'@'localhost' WITH GRANT OPTION |
| GRANT ALL PRIVILEGES ON `my_local`.* TO 'me'@'localhost'   |
| GRANT ALL PRIVILEGES ON `my_config`.* TO 'me'@'localhost'  |

 --------------------------------------------------------------------- 
 

настройка моего MAC:

 % cat /etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost
# Added by Docker Desktop
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
 

Я получил ошибку:

 {Operation:"get config DB connection", Message:"Database error: Cannot connect to database: Error 1045: Access denied for user 'me'@'localhost' (using password: YES). (init master config for local, my_config)"}
 

Но если хост в файле конфигурации бд изменен на localhost , ошибка исчезнет.
Но если хост в файле конфигурации бд изменился на 127.0.0.1 , я вижу вышеуказанную ошибку.

Комментарии:

1. Так что оставьте его включенным localhost . В любом случае, это одно и то же — оба разрешаются на один и тот же IP-адрес.