PHP无法访问远程mysql的问题分析及解决
首先说明,远程服务器是可远程访问的。
我遇到的问题是这样的:有A,B,C三台服务器,C为服务器,B可以用PHP成功连接上C机器的mysql,而A机器则不能连接!
可以说,肯定不是代码有什么问题,服务器上的mysql设置也是没什么问题的,因为B机器都是可以的。
肯定是A机器的设置有问题!
在网上一顿搜,各种说mysql授权问题的,以及修改php.ini的,修改防火墙的,事实上都不是这些问题导致的。
和这个页面上讨论的问题类似,但是没人给出结果,链接:http://bbs.csdn.net/topics/90284141
最后想到了SELINUX的问题,对比了下AB两台机器,果然设置不一样!估计就是它的问题,有戏!
进行了如下设置:
root下,用vim打开文件文件/etc/selinux/config
修改SELINUX的值:
#SELINUX=enforcing
SELINUX=disabled
保存并退出。
重启生效,如果不想重启,命令行输入
setenforce 0
回车,OK
此处修改参考:http://www.xiaojb.com/archives/tips/disabled-selinux.shtml
最后,连接成功,哦耶!!!
相关推荐
-
mysql数据库远程访问设置方法
1.改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u root -pvmwaremysql>use mysql; mysql>update user set host = '%' where
-
mysql设置远程访问数据库的多种方法
可能是IP没设置好 问题:MySQL权限设置正确,但仍无法远程访问.通过telnet发现3306端口未打开. 分析:MySQL默认只绑定127.0.0.1,即:只有在本机才能访问3306端口. 解决:找到MySQL配置文件,搜索"bind-address",找到这一行: bind-address = 127.0.0.1 在前面加一个#,注释掉这一行,保存,重启MySQL.再通过远程访问就可以了,telnet可以发现端口也打开了. 例我们配置 1. 确保skip-net
-
远程访问MySQL数据库的方法小结
三种解决方法: 1.改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u root -pvmware mysql>use mysql; mysql>update user set host = '
-
MySQL 不允许从远程访问的解决方法
解决方法: 1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 复制代码 代码如下: mysql -u root -pvmwaremysql>use mysql; mysql>update user se
-
mysql设置指定ip远程访问连接实例
本文实例讲述了mysql设置指定ip远程访问连接的方法,分享给大家供大家参考.具体实现方法如下: 1. 授权用户root使用密码jb51从任意主机连接到mysql服务器: 复制代码 代码如下: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'jb51' WITH GRANT OPTION; flush privileges; 2.授权用户root使用密码jb51从指定ip为218.12.50.60的主机连接到mysql服务器: 复
-
禁止mysql做域名解析(解决远程访问mysql时很慢)
当远程访问mysql时,mysql会解析域名,会导致访问速度很慢,加上下面这个配置可解决此问题 禁止mysql做域名解析 [mysqld] skip-name-resolve PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入skip-name-resolve这一句.
-
mysql解决远程不能访问的二种方法
1.在/etc/mysql/my.cnf中的[mysqld]段注释掉bind-address = 127.0.0.1 2.用mysql -uroot -p 登陆mysql,然后采用以下方法开启远程访问权限: 方法1:mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>FLUSH RIVILEGES: 方法2:mysql>GRANT ALL PRIVILEGES ON *.*
-
MySQL数据库设置远程访问权限方法小结
MySQL基础知识第一期,如何远程访问MySQL数据库设置权限方法总结,讨论访问单个数据库,全部数据库,指定用户访问,设置访问密码,指定访问主机. 1,设置访问单个数据库权限 复制代码 代码如下: mysql>grant all privileges on test.* to 'root'@'%'; 说明:设置用户名为root,密码为空,可访问数据库test 2,设置访问全部数据库权限 复制代码 代码如下: mysql>grant all privileges on *.* to 'root'
-
允许远程用户访问mysql服务sql语句
mysql> grant all privileges on cakephp.* to cakephp@192.168.14.1 identified by 'lpfukia'; Query OK, 0 rows affected (0.01 sec) mysql> mysql> mysql> mysql> flush privileges; $1 >> 第一条命令: 授权192.168.14.1 主机的cakephp用户访问cakephp数据库 $2 >&
-
mysql开启远程连接(mysql开启远程访问)
复制代码 代码如下: //建议设置固定IPmysql> GRANT ALL PRIVILEGES ON *.* TO root@"8.8.8.8" IDENTIFIED BY "root";mysql> flush privileges;//修改防火墙iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
随机推荐
- Java输出系统当前的日期(年月日时分秒毫秒)
- jquery制作 随机弹跳的小球特效
- 自动写入文件上传到指定服务器SoftwareMeteringCLS.vbs源码
- PHP实现通过正则表达式替换回调的内容标签
- python基于pyDes库实现des加密的方法
- 在Python中使用Mako模版库的简单教程
- IIS7.5调用asp页面出现800a0e7a的解决办法
- lnmp下如何关闭Mysql日志保护磁盘空间
- JavaScript 中级笔记 第一章
- 探讨如何使用SimpleXML函数来加载和解析XML文档
- XML创建可排序、分页的数据显示页面
- 三种取消选中单选框radio的方法
- MS-SQL Server 2005 其中三个版本的比较
- jQuery EasyUi 验证功能实例解析
- jQuery实现两款有动画功能的导航菜单代码
- js控制表单奇偶行样式的简单方法
- JavaScript中的this到底是什么(一)
- java 序列化与反序列化的实例详解
- Android 详解Studio引用Library与导入jar
- Centos7(Firewall)防火墙开启常见端口命令