因为一段时接没有用MySQL,有点遗忘,遇到些小问题,在这里总结下。

目标:使宿主机(OS X)下的访问 VM( 14.04)中部署的MySQL 5.6服务器。

1. 虚拟机网络设置

首先确定中VM的网络设置,设置为 (桥接适配器)。这样虚拟机可以独立于宿主机存在同一网段中,获得自己的ip地址,且宿主机可以和虚拟机双向通信,同时宿主机和虚拟机都可以访问外网。

对于家庭网络环境,可以不为虚拟机设置静态ip,因为虚拟机很可能一直会获得相同的ip。机器加入网络时,会尝试发送一个带有上次ip地址的DHCP请求,因为是家庭网络,网段内机器数量有限,上一次登录使用的ip地址被其他机器占用的可能性不大。如果ip发生改变,也可以修改的连接设置。

如果需要设置静态ip地址:

最后检查宿主机和虚拟机是否能相互ping通,是否都能访问外网。

2. 设置MySQL服务器

需要做两件事儿。第一,MySQL默认和绑定,不监听任何来自网络的请求。以为例(其他发行版的MySQL配置文件位置可能不一致):

$ sudo vi /etc/mysql/my.cnf

注释掉这行:

bind-address    = 127.0.0.1

第二件事,要为一个用户设置远程访问的权限。首先以MySQL的root用户从客户端登录MySQL网通服务器ip,如果要为root用户设置远程访问权限:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

如果想要建立一个新的远程登录用户'':

CREATE USER 'new_user'@'%' IDENTIFIED BY 'password_to_be_set';
GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'%';
FLUSH PRIVILEGES;

这里通配符'%'表示任何主机。[WITH GRANT ]表示权限传递。‘*.*’表示 level。关于MySQL用户管理和SQL语法的细节,参见文档:

重启MySQL服务。

3. 防火墙

防火墙可能设置了一些规则屏蔽了MySQL监听端口的正常通信。因为 14.04的防火墙默认是关闭状态网通服务器ip,这里不需要做任何事情。

最后确保连接设置得与MySQL服务器的ip与端口一致,应该就可以正常连接到服务器了。


限时特惠:
本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情

站长微信:Jiucxh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注