为什么mysql不能远程访问?

为什么mysql不能远程访问?这是困扰了我很长一段时间加上今天一天的一个问题。

为什么说是很长一段时间加上今天呢?因为我以前碰到过这个问题,但是碰巧解决了。想当然的以为就没问题了。当时解决这个问题也是大费周章,mysql删了装,装了删,然并卵。不管重删多少次,依然还是原来的问题。

首先分析这个原来的问题,产生原来的问题的原因是host被修改,为什么我要修改host呢,因为以前没尝试过远程访问数据库,然后百度了,百度答案众说纷纭,因此呢就选了个觉得对的答案,修改了host和权限之类的,主要就是这个host由原来的localhost改成了%,意思就是允许所有的ip地址访问。但是这样莫名其妙导致自己本地的不能访问了,一点进去就秒退。最后解决这个方法是找到my.ini文件,这个文件如果在mysql目录文件下没找到,那就到c盘的隐藏文件夹下c:programdata里面找到mysql下的my.ini.或者自行配置mydefaut.ini文件。都是可以的。之所以要修改my.ini 文件,是因为前面说把host改了,deny访问,尽管password是yes还是进不去。

所以我们在配置文件里最后一处加一句skip grant table。这样就又能随意的访问数据库了,然后把host改回来,原来是什么就是什么。怎么该的怎么改回来。然后莫名其妙的远程访问,一下就可以了。(之所以说莫名其妙,是因为在改之前,我并没有尝试过,而是理所当然的以为要远程访问,肯定要该数据库,肯定要修改配置,其实狗屁,不需要修改什么!)

现在想来我第一次之所以突然好了,是因为我办公用的是银联远程桌面,它的虚拟机没有打开防火墙,因此就能连上了。事实证明mysql的远程连接真的是和防火墙有关系。就在今天下午又纠结这个问题一下午时(因为这次开发是本地,所以还是需要重新让另一台机器连接我的数据库),我又修改了host。。。。尼玛,彻底悲催了,再使用安装版时,就是不成功,尽管我把所有和mysql有关的东西都删了(包括注册表),还是不行。最后没办法,用免安装版,一顿配置下来,好了,又能连上了,欢欣鼓舞,然后还是不知道怎么让别人连上我的数据库。然后还有20分钟下班时,办公室一位同事的话点醒了我,是不是和防火墙有关!这句话有如惊雷,瞬间我就懵了,对啊!防火墙会隔断远程访问啊!怎么没想到这一点呢!!然后把防火墙关了,其他配置什么的什么都不该。好了,mysql正常访问加远程访问都ok了。。。

这一件事说明,nozuonodie,不懂的地面多问问同事,自己一个人在那瞎搞,搞不好不说,还容易走错了。走错了,那就最费时间和精力了。想起上次的jsp页面调用也一样,明明不属于这个web的jsp页面下使用了a4j的keepalive,我强行要在这个web项目下调试这个jsp,结果一天都找不到对象为空错误的原因。

好了,说到这了,总结一下吧,mysql远程访问不了怎么办?首先把防火墙关了,不行再试其他办法!host修改慎之又慎啊!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值