如何连接到由docker-compose创build的mysql
我无法连接到在本地环境(Mac OS X)中使用Docker创build的Mysql。
我已经创build了下面的configuration文件。
version: '2' services: db: image: mysql:5.7 environment: MYSQL_DATABASE: mysqldatabase MYSQL_USER: mysql MYSQL_PASSWORD: mysql MYSQL_ROOT_PASSWORD: password ports: - "33333:3306" container_name: mysql-db volumes: - db-data:/var/lib/mysql volumes: db-data: driver: local
然后,我用下面的命令启动了mysql的docker容器。
$ docker-compose up -d $ docker start mysql-db
到目前为止,没有问题,但尝试连接到MySQL时发生错误。
$ mysql -p 33333 -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
请告诉我如何处理它。
试试mysql -h 0.0.0.0 -P 33333 -u root -p
。
注意这里的端口有大写字母P,密码有小写字母p。
希望这可以帮助!
我想如果你从主机连接到容器。 mysql会看到来自非本地主机的连接,所以断开连接。 您可以更改MySQL的configuration,以允许其他主机,或从该容器内使用docker exec -it mysql ...