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开启远程连接(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
-
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设置远程访问数据库的多种方法
可能是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 set host = '%' where
-
MySQL数据库设置远程访问权限方法小结
MySQL基础知识第一期,如何远程访问MySQL数据库设置权限方法总结,讨论访问单个数据库,全部数据库,指定用户访问,设置访问密码,指定访问主机. 1,设置访问单个数据库权限 复制代码 代码如下: mysql>grant all privileges on test.* to 'root'@'%'; 说明:设置用户名为root,密码为空,可访问数据库test 2,设置访问全部数据库权限 复制代码 代码如下: mysql>grant all privileges on *.* to 'root'
-
MySQL 不允许从远程访问的解决方法
解决方法: 1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 复制代码 代码如下: mysql -u root -pvmwaremysql>use mysql; mysql>update user se
-
允许远程用户访问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时很慢)
当远程访问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设置指定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服务器: 复
随机推荐
- AngularJS的脏检查深入分析
- ES6中如何使用Set和WeakSet
- 往xml中更新节点的实例代码
- 基于javascript如何传递特殊字符
- java实现清理DNS Cache的方法
- Cookie 小记
- PHP 实现浏览记录并按日期分组
- thinkPHP+ajax实现统计页面pv浏览量的方法
- android当前apn的状态以及获取方法
- Swift 3.0在集合类数据结构上的一些新变化总结
- javascript 操作table的特性
- 利用WinRAR来捆绑木马2个技巧
- MySQL中使用自定义变量 编写偷懒的UNION示例
- 18个非常棒的jQuery代码片段
- 浅谈jQuery的offset()方法及示例分享
- Javascript & DHTML 实例编程(教程)DOM基础和基本API
- 菜鸟必备:超实用低级格式化方法
- Linux基础知识99问(三)
- 校园网建设问答
- python3+PyQt5实现自定义流体混合窗口部件