2017-06-16 73 views
0

我嘗試啓動MySQL服務器,並使用docker-compose。這裏是docker-compose.yaml部分:MySQL在docker-compose中 - 訪問被拒絕

mysql: 
    restart: always 
    image: mysql:latest 
    ports: 
    - "3306:3306" 
    volumes: 
    - /Users/user/Documents/.docker/mysql/config:/etc/mysql/ 
    - /Users/user/Documents/.docker/mysql/data:/var/lib/mysql 
    environment: 
    - MYSQL_ROOT_PASSWORD='123' 
    - MYSQL_ROOT_HOST='172.18.0.1' 

你看我指定root密碼和主機,因爲它是說here。然後我嘗試連接(使用IntelliJ IDEA的,如果該事項),以DB:

jdbc:mysql://localhost:3306/?user=root&password=123&ssl=false 

但它不接受全權證書,並寫入日誌:

Access denied for user 'root'@'172.18.0.1' (using password: YES) 

請就如何解決它建議。謝謝。

+0

爲您的用戶授予從本地主機連接的權限。 – FMashiro

+0

你的意思是root用戶無法從本地主機連接? – awfun

+0

是的,根用戶目前只有權限連接@'172.18.0.1'而不是從本地主機連接,據我所見 – FMashiro

回答

2

很有可能你已初始化MySQL數據目錄時,這些是不同的:當啓動一個在/ var/lib中/ MySQL的從頭目錄

environment: 
- MYSQL_ROOT_PASSWORD='123' 
- MYSQL_ROOT_HOST='172.18.0.1' 

MySQL的圖像只能尊重那瓦爾。

因此,如果您不關心數據,請清空您的卷:/Users/user/Documents/.docker/mysql/data或手動從mysql終端更改憑據。

+0

謝謝你,你是對的,那些不是初始設置。清除持久性目錄幫助。 – awfun