我在Mac上使用pymysql从容器外部连接到MySQL容器时遇到了问题,尽管我可以使用MySQL工作台连接到docker MySQL。
我使用了以下docker-compose.yaml:
version: '3'
services:
db:
image: mysql:latest
volumes:
- ./data/db:/var/lib/mysql
ports:
- 6603:3306
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_USER: testuser
MYSQL_PASSWORD: password
和下面的pymysql
import pymysql
conn = pymysql.connect(
host='0.0.0.0',
port=6603,
user='testuser',
password='password',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor
)
并收到以下错误:
OperationalError: (1045, "Access denied for user 'testuser'@'172.18.0.1' (using password: NO)")
当尝试以root用户身份登录时,也是如此。
我尝试过: 1)在许多排列中授予特权,也将主机设置为'%‘2)删除并重新创建已挂载的卷
主要是我希望能够在开发期间从交互式外壳访问MySQL数据库。
任何指导都是很棒的。谢谢。
发布于 2018-06-16 11:42:06
您应该使用IP地址127.0.0.1或本地主机,或您的外部IP地址,而不是0.0.0.0。地址0.0.0.0是一个仅在创建侦听套接字时有意义的special IP address,但对于创建连接套接字没有任何意义。
https://stackoverflow.com/questions/50884396
复制相似问题