mysql的bind-address设置为127.0.0.1,通过localhost连接访问不了
2011-10-24 19:49
561 查看
今天在恢复CMS的时候,发现CMS指定用户名及密码,都不能够连上数据库,此时主机的地址写的是localhost,我以为是当主机指定localhost时不能够访问数据库,于我就就在命令行通过命令:
mysql -uxxx -pxxx -hlocalhost
通过mysql命令是能够正常连接,那首先肯定用户名及密码是正确的,我第一个就排除了localhost有问题。
刚开始一直以为是CMS的缓存问题,怀疑有可能是服务器启动的时候,CMS就将配置文件加载到了内存中去了,于是改一下配置文件就重启一下APACHE,几次尝试下来也没有结果,反正就是数据库连不上。
后来以为是MYSQL的地方设置问题,把当前的my.cnf与原来的my.cnf文件进行了比较,发现只有bind-address这个的差别,现在配置的是127.0.0.1,原来为了远程访问配置的是服务器本身的IP地址,于是我将此处修改为当前服务器的地址,填到CMS里面也是连接不上,呵,这里忘了将用户的访问权限设置为允许远程访问,登陆mysql,将user表中指定用户的host指定为"%",再通过FLUSH PRIVILEGES刷新一个权限,此时再填上这个开了远程访问的用户名,这个时候就能够连接上了。
不过,这个时候如果允许远程访问,那么数据库就存在着风险了,别人就可以尝试破解你mysql的用户名和密码;又再尝试,将服务器IP换成127.0.0.1,居然可以连接,再换成localhost又不可以访问了,难道是没有在host将localhost绑定到127.0.0.1?此时我查看我的hosts文件,发现也是绑定了的:127.0.0.1 localhost,这就奇了怪了,难道与my.cnf中的bind-address设置为127.0.0.1有关?如果将bind-address换成localhost,就可以访问吗?这应该是唯一的解释了,不过现在我没有了环境,等有机会尝试的时候可以将bind-address设置为localhost试试。
本文出自:冯立彬的博客
mysql -uxxx -pxxx -hlocalhost
通过mysql命令是能够正常连接,那首先肯定用户名及密码是正确的,我第一个就排除了localhost有问题。
刚开始一直以为是CMS的缓存问题,怀疑有可能是服务器启动的时候,CMS就将配置文件加载到了内存中去了,于是改一下配置文件就重启一下APACHE,几次尝试下来也没有结果,反正就是数据库连不上。
后来以为是MYSQL的地方设置问题,把当前的my.cnf与原来的my.cnf文件进行了比较,发现只有bind-address这个的差别,现在配置的是127.0.0.1,原来为了远程访问配置的是服务器本身的IP地址,于是我将此处修改为当前服务器的地址,填到CMS里面也是连接不上,呵,这里忘了将用户的访问权限设置为允许远程访问,登陆mysql,将user表中指定用户的host指定为"%",再通过FLUSH PRIVILEGES刷新一个权限,此时再填上这个开了远程访问的用户名,这个时候就能够连接上了。
不过,这个时候如果允许远程访问,那么数据库就存在着风险了,别人就可以尝试破解你mysql的用户名和密码;又再尝试,将服务器IP换成127.0.0.1,居然可以连接,再换成localhost又不可以访问了,难道是没有在host将localhost绑定到127.0.0.1?此时我查看我的hosts文件,发现也是绑定了的:127.0.0.1 localhost,这就奇了怪了,难道与my.cnf中的bind-address设置为127.0.0.1有关?如果将bind-address换成localhost,就可以访问吗?这应该是唯一的解释了,不过现在我没有了环境,等有机会尝试的时候可以将bind-address设置为localhost试试。
本文出自:冯立彬的博客
相关文章推荐
- MySQL在服务器本机登录不上,不管是localhost还是127.0.0.1都登不上,但是通过远程可以连接上
- centos下mysql无法通过localhost连接却可以通过127.0.0.1连接的问题
- mysql远程访问的bind-address设置
- 解决mysql中只能通过localhost(127.0.0.1)访问不能通过ip访问的问题
- MySql 只能localhost 和 127.0.0.1访问 不能通过其他IP访问
- 连接MYSQL时,主机名为 localhost 和 127.0.0.1 的区别
- Vmware 网络模式Bridge, NAT, Host-only 以及设置host通过127.0.0.1访问vm web server
- MySQL通过localhost无法连接数据库的解决
- 将 RedirectToOptimalOWAServer 设置为 False 后通过代理连接到客户端访问服务器失败
- Mysql 访问,提示无法连接Can't get hostname for your address Error 1042
- mysql只能localhost连接,解决不允许其他机器去访问
- 解决mysql中只能通过localhost访问不能通过ip访问的问题
- JBOSS部署项目之后,无法通过IP地址访问,只能通过localhost或者127.0.0.1访问
- 解决tomcat服务器下,只能通过localhost,而不能通过127.0.0.1或者本地ip地址访问的问题
- 连接MYSQL时,主机名为localhost和127.0.0.1的区别
- 解决mysql中只能通过localhost访问不能通过ip访问的问题
- Jboss无法通过IP地址访问,只能用localhost\127.0.0.1访问
- Mac 中PHP连接MySQL总是失败localhost修改成127.0.0.1解决
- php程序连接mysql只能使用localhost,不能使用127.0.0.1
- Tomcat在局域网中localhost可以访问,但是无法通过本地ip访问,127.0.0.1也无法访问问题的解决方法