2014-12-05 57 views
5

MacOS 10.10,最新的macports。我想的MySQL 5.6獲得端口3306使用Macports設置MySQL 5.6

1)安裝

port install mysql56-server mysql56 

安裝[email protected]_0,之後

which mysql 

which mysql56 

什麼也不返回

所以第一個問題是mysql客戶端在哪裏?

2)配置

安裝腳本提示做

sudo -u _mysql /opt/local/lib/mysql56/bin/mysql_install_db 

然後

/opt/local/lib/mysql56/bin/mysqladmin -u root password 'new-password' 

,詢問了正在運行的服務器和我通過

cd /opt/local ; /opt/local/lib/mysql56/bin/mysqld_safe & 
啓動

然後中mysqladmin抱怨插座和我的評論/opt/local/etc/mysql56/macports-default.cnf和該命令去確定後--skip-網絡。然後

/opt/local/lib/mysql56/bin/mysqladmin -u root -h bp.local password 'new-password' 

返回

error: 'Host '10.0.1.9' is not allowed to connect to this MySQL server' 

我真的不知道該怎麼辦這裏沒有MySQL客戶端。我有點卡住了。 有什麼建議嗎?

回答

13

MacPorts以一種不會相互衝突的方式安裝MySQL及其衍生產品,並且可以同時安裝。這包括將mysql二進制文件放入非標準路徑。您可以使用port contents mysql56 | grep -E '/s?bin/'找到您的二進制文件。 MacPorts還帶有一個選擇機制,可以在/opt/local/bin中爲您創建符號鏈接。要將MySQL 5.6設置爲默認值,請運行sudo port select --set mysql mysql56

要啓動服務器,你可以使用MacPorts的守護進程控制功能(是一個前端到的launchd):sudo port load mysql56-server將啓動服務器,並確保它在重新啓動後運行,sudo port unload mysql56-server將撤消並停止服務器。

--skip-networking是默認使並行運行多個MySQL版本成爲可能。有關更多信息,請參閱port notes mysql56

您可以使用unix套接字連接到MacPorts的MySQL,儘管我不記得它從我頭頂開始的路徑。不過,我確定http://trac.macports.org/wiki/howto/MAMP有他們。要連接到本地服務器,您應該使用localhost127.0.0.1而不是bp.local,這顯然會解析爲私有IP地址,因此會通過操作系統的IP堆棧,而不是通過回送接口。

+0

我試圖'端口select'但只有一個連字符:(。 而且據我所知,你必須安裝'mysql_select'才能夠使用它。 @neverpanic如果你能爲MySQL開始添加命令 – coviex 2014-12-06 23:53:42

+0

'mysql56'依賴於'mysql_select',所以當你安裝了mysql56'時,你會一直安裝它(除非你強制MacPorts忽略依賴關係)不幸的是,launchd在重啓AFAIK時總是保持守護進程狀態,所以沒有辦法在啓動plists後「開始直到下一次重啓」,但我想你的啓動命令可以用於這種情況,只要確保你使用相同的環境和用戶作爲plist的確如此, – neverpanic 2014-12-07 22:56:16

+0

你可以f通過運行'/ opt/local/lib/mysql56/bin/mysqladmin -u root -p variables'並查找'socket'行來指定套接字路徑。對我來說,它是:'/ opt/local/var/run/mysql56/mysqld.sock'。 – ilpssun 2015-08-29 12:07:41