2017-06-15 16 views
2

我無法連接到在本地環境(Mac OS X)中使用Docker創建的Mysql。
我已經創建了以下配置文件。如何連接到由docker-compose創建的mysql

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) 

請告訴我如何處理它。

+1

嘗試「mysql -h 0.0.0.0 -P 33333 -u root -p」。注意這裏的端口有大寫字母P和密碼小寫。 – harshavmb

+0

@harshavmb我能夠連接!多麼愚蠢的錯誤! – xKxAxKx

+0

很高興看到它幫助你! – harshavmb

回答

3

嘗試mysql -h 0.0.0.0 -P 33333 -u root -p

注意這裏的端口有大寫字母P,密碼有小寫字母p。

希望這會有所幫助!

0

我想如果你從主機連接到容器。 mysql會看到來自非本地主機的連接,所以斷開連接。您可以更改mysql配置以允許其他主機,或從該容器內連接使用docker exec -it mysql ...