2014-12-05 56 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