1、 设置nat端口转发(子系统端口一定为3306,主机端口自定义,协议为TCP)
打开virtualbox虚拟机的设置,选择网络——高级——端口转发——添加转发规则。
以我的为例,如下图所示
2、 设置允许远程连接mysql
在虚拟机的命令终端中,输入mysql,进入mysql,执行以下两句命令
grant all privileges on *.* to '用户名'@'%' identifiedby '密码' with grant option;
flush privileges;
(注意:grant授权中,@’%’指允许任意ip地址远程登录,如果只想允许本机登录,其ip地址填的是网关好像,获得方法如下:
1、为打开putty,登录,查找’Last login: xx xx xx xx:xx:xx 2015 from xxx.xxx.xxx.xxx’,from后面即为虚拟机网关地址
例如,我的ip地址如下图所示,为10.0.2.2
2、若为静态ip地址,则debian/ubuntu下cat /etc/network/interfaces,redhat/centos下cat /etc/sysconfig/network;
若为dhcp,动态分配ip地址,则采用指令route,default那行对应的gateway即虚拟机网关地址
参考 http://zhidao.baidu.com/link?url=9wyJ2tV0d_pnbb0g6pypZcwPcNN1D7uIufNyqSR34VmGjQoUupD5_YUZgVpJvQES-j7W3BJfZro59tMEYU-VI_
如下图所示
注:virtualbox默认网关好像是10.0.2.2,vmware可进行查看或修改)
以我的为例,新建一个用户名为olive,密码为debian,授权远程登录,如下图所示
3、 修改my.cnf 文件的bind_address
my.cnf(/etc/mysql/my.cnf)找到bind_address
修改方法有以下三种
法一 注释bind_address=127.0.0.1
法二 修改bind_address=0.0.0.0
法三 修改bind_address=虚拟机ip地址(ifconfig得到)
4、 重启mysql
执行/etc/init.d/mysql restart
5、 Win下连接mysql
连接地址为主机ip地址(cmd中用命令ipconfig可以查看),端口号对应第一步中的主机端口,用户和密码对应第二步中的用户和密码
登录进去时,可能会弹出一个提示,说没有找到配置什么的,这个问题我还没找到解决办法,但是貌似对后面的操作没有什么影响,直接点击ok就好了。如下图所示的提示。