2017-09-20 60 views
0

我安裝了docker,使用proxySQL獲得了最流行的框。如何使用Docker上的默認配置連接到ProxySQL

docker run -d -p 6032:6032 --name proxysql prima/proxysql:latest 

然後我試圖從我的本地MySQL連接到它,像這樣:

mysql -u admin -padmin -h 127.0.0.1 -P6032 

,我得到這個錯誤:

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 "Internal error/check (Not system error)" 

我試過這招用twindb/proxysql:latestprima/proxysql:latest碼頭圖像和結果是一樣的:(

+0

您確定有關端口。圖像的Dockerfile不聲明任何暴露的端口,並且默認配置文件似乎在使用另一個端口。 – yamenk

+0

6032是proxySQL的一個默認端口,因爲它是在這裏聲明的(https://github.com/sysown/proxysql/wiki/ProxySQL-Configuration)和[here](https://github.com/sysown/proxysql /維基)。如果我在mySQL連接請求中指定了另一個端口,我得到'ERROR 2003(HY000):無法連接到'127.0.0.1'(61「連接被拒絕」)的MySQL服務器' –

回答

1

您需要映射6033代替6032

docker run -d 6033:6033 --name proxysql prima/proxysql:latest 

,然後在下面

mysql -u admin -padmin -h 127.0.0.1 -P6033 

運行容器內部的mysql偵聽127.0.0.1:6032和外界連接它偵聽0.0.0.0:6033。因此,您需要使用6033來連接來自集裝箱外部的連接

+0

謝謝,它讓我進一步感動。現在我有不同的錯誤說:'錯誤1045(28000):ProxySQL錯誤:訪問被拒絕用戶'管理員'(使用密碼:YES)''。下一步該做什麼是明確的。謝謝。 –

相關問題