mysql - 无法连接到docker上的mysql

标签 mysql docker

这是我的服务定义:

version: "3"
services:
  rabbit:
    image: rabbitmq:management
    ports:
      - "5672:5672"
        #  - "15672:15672"
  db:
    image: mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: eventstore
      MYSQL_ROOT_HOST: "*"

如果我从 docker 连接到 mysql,然后运行:

SELECT host, user FROM mysql.user;

我得到:

+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | root             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+

所以应该没问题。然后如果我运行:

mysqld --verbose --help | grep bind-address

我有:

mysqld --verbose --help | grep bind-address
2018-10-25T14:40:08.820014Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
  --bind-address=name IP address to bind to.
  --mysqlx-bind-address[=name] 
bind-address                                                 0.0.0.0
mysqlx-bind-address                                          *

这也应该没问题。 运行 netcat 172.30.0.3 3306(通过 docker inspect 获取的 ip 地址),我有一个响应。 但是,这仍然给我一个错误:

mysql -u root 172.30.0.3 -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

最佳答案

试试这个格式:

mysql -u {username} -p {password} -h {remote server ip or name} -P {port} 

并确保端口在该 IP 上可用。

mysql -u root -p -h 172.30.0.3 -P 3306

关于mysql - 无法连接到docker上的mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52992071/

相关文章:

mysql - 使用内部连接对多列进行分组

java - 如何在基于 Debian Java 的 Docker 镜像中减小 python 的大小?

nginx - 命名 Docker 卷以共享构建而不更新

docker - redis.conf 在官方 docker 镜像中的位置是什么?

database - Docker 1.12 : Multiple replicas, 单数据库

Dockerfile apt-get install - 503 服务不可用

mysql - SQL LIKE 子句匹配最接近的记录

mysql rbar情况

php - 在 PHP 中将数组转换为字符串

mysql:如何获取 last_updated_by 列的当前用户?