2015-08-17 95 views
4

我剛剛從最新的DMG文件下載了OSX 10.10.4(Yosemite)上安裝的MySQL。OSX上MySQL的安裝在端口3307上運行

看起來像它在端口3307上運行,而不是標準3306 (如遠程登錄到本地主機上3306個超時,遠程登錄到3307本地主機給了我預期的mysql propmpt)

這種痛苦之後,無數使用谷歌搜索,嘗試用my.cnf文件(端口= 3306)覆蓋它,我有一個解決方法,只是不知道它是理智的。

在MySQL下的系統首選項中,單擊「啓動時自動啓動MySQl服務器」框。

這迫使它在/ Library/launchDaemons中生成launchDaemon。

然後編輯該文件並將端口更改爲3306並重新啓動。

現在正常工作。

但是:

  1. 爲什麼它開始於3307開始與? (一個技術人員建議Yosemite已經安裝了mysql,所以它增加了端口號)
  2. 這將如何咬我未來?
+0

我有這個確切的同樣的問題,感謝您對本! (我也相信,如果你使用首選項按鈕,這是唯一的方法) – John

+0

你試過[this](http://superuser.com/questions/972276/mysql-binds-to-port-3307-not-端口3306)解決方案? – Dario

+0

我一直使用與[Homebrew](http://brew.sh/)打包在一起,而不是官方安裝程序。據我所知,它默認爲3306.升級也很容易,你可以'升級mysql'而不必下載和運行安裝程序。 – tadman

回答

0

默認情況下,mysql在嘗試連接到本地主機時選擇套接字流。 爲了改變這種行爲,你必須改變個人的my.cnf 添加到字符串

protocol=tcp 

例: 1)我看到你的問題:

$的MySQL -h本地主機-P 33306 -uyyyyyy -pzzzzz ERROR 2002(HY000):

:無法通過套接字 '/var/run/mysqld/mysqld.sock'(2)

2)我創建〜/ .my.cnf連接到本地MySQL服務器

[client] 
protocol=tcp 

,並嘗試:

$ mysql -h localhost -P 33306 -uyyyyyy -pzzzzz 
Welcome to the MySQL monitor. Commands end with ; or \g. 

Your MySQL connection id is 566582 
Server version: 5.5.44-0ubuntu0.14.04.1 (Ubuntu) 

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. 

Oracle is a registered trademark of Oracle Corporation and/or its 
affiliates. Other names may be trademarks of their respective 
owners. 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

mysql> 

一切工作