最近因为windows mysql崩溃,因为本地自己搭建的很多服务都是存在vagrant的vm里的,我的vagrant box用的是ubuntu 14.04所以就想在ubuntu下面安装mysql,然后通过端口的mapping,映射到主机的某个端口上面。 但是发现这样是做不成功的,弄了很久终于成功了,这里mark一下,为了有同样问题的人提供一下参考。
首先:
sudo vim /etc/mysql/my.cnf
change:
bind-address = 0.0.0.0
打开ubuntu下mysql的配置文件,然后把绑定的地址修改成0.0.0.0,之前是绑定到127.0.0.1,这里说一下为什么,127.0.0.1是绑定到本地的环回接口,只能是某一张网卡,0.0.0.0绑定所有本地的网卡,如果虚机的地址是127.0.0.1映射到主机的地址就是0.0.0.0 所以会出现问题。
然后:
mysql -u root 在ubuntu下连接数据库
use mysql;//选择mysql这张库
update user set host='%' where user='root' and host='127.0.0.1';//更新一下访问权限
flush privileges;//刷新配置
exit //退出
sudo /etc/init.d/mysql restart //mysql重启
最后:
修改一下Vagrantfile中的端口映射:
config.vm.network "forwarded_port", guest: 3306, host: 3306
vagrant reload//修改好后执行一下 vagrant reload 重新加载配置就可以了