php无法连接mysql(selinux)
php无法连接mysql(selinux)
注意:
有什么不对的地方请大神们多多指教!!!
今天发布代码的时候,使用小伙伴搭建的lamp环境遇到这样的一个问题: 使用Thinkphp5,连接mysql服务失败
下面开始查找原因和解决问题的过程:
1.ip和端口禁用问题
开始的时候怀疑是 网络问题 和 mysql的 端口被禁了
测试:
1.在web 服务器上ping mysql 服务ip;结果发现ping通了
2.然后尝试用mysql 客户端,远程连接mysql 服务;结果发现居然成功了
结论:
1.应该跟网络,端口,mysql用户无关(毕竟用的是同一台服务器,同一个账户,同一个端口)
2.php 扩展问题
既然提供的服务是正常的,但是php连接失败(不是代码问题);那个会不会是因为php的扩展问题
测试:
php -m 看了下发现该有的扩展都有
- 因为开始用的是thinkphp5,所以怀疑了下,这个框架(虽然有点太天真了)。。。看了下,发现Tp用的是pdo;就自己写个pdo连接,发现出现相同的问题;
- 查了下,有人说可能是扩展有问题。。。 于是我用原生的 和 mysqli 的方式连接测试下;出现相同的问题
结论:
1.估计应该跟代码 和 扩展没有多大关系了
3.seLinux
突然想起了 seLinux 这个东西;依稀记得 centos 6 后面就搞了这个东西进去;会不会是这个东西搞怪呢?
小插曲:
什么是 seLinux?(百度的)
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上。虽然SELinux很好用,但是在多数情况我们还是将其关闭,因为在不了解其机制的情况下使用SELinux会导致软件安装或者应用部署失败。
测试:
1.看了下服务器的系统信息:centos 7 感觉像了。。。
2.看了下seLinux的状态:
# /usr/sbin/sestatus -v
查看selinux的详细状态,如果为enable则表示为开启;结果发现 果然开着
3.关掉它试试。。。
临时性关闭(立即生效,但是重启服务器后失效)
# setenforce 0 #设置selinux为permissive模式(即关闭)
# setenforce 1 #设置selinux为enforcing模式(即开启)
永久性关闭(这样需要重启服务器后生效)
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
结论:
1.通过了。。。
php无法连接mysql(selinux)相关推荐
- SELinux导致PHP连接MySQL异常Can't connect to MySQL server的解决方法
2019独角兽企业重金招聘Python工程师标准>>> 同事报告一起奇怪的现象,一个最简单的测试PHP代码,在测试环境很正常,但是在正式环境下,无论用何种方式(tcp/ip.unix ...
- .net连接mysql数据_.net连接MYSQL数据库的方法及示例!
连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...
- SQLALchemy之Python连接MySQL
20220225 https://www.cnblogs.com/toheart/p/9802990.html pymssql连接sqlserver https://blog.csdn.net/qq_ ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- windows nodejs mysql_windows server 安装 mysql + nondejs连接mysql
下载 安装 下载完后,将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\mysql 下. 接下来需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 C:\mysql ,在该文件夹 ...
- python用django连接mysql_三分钟了解Django如何连接Mysql数据库
处理用户注册请求.Django连接MysqL数据库相关配置.数据库迁移命令: my_Dproject/app01/views.py 在views函数文件中添加register函数,来处理用户注册 ...
- mysql submission_date_UiPath如何连接MySQL
UiPath如何连接MySQL 首次登陆,修改密码,首先用 flushprivileges; 再用一下3种方法中的一种 update mysql.user setauthentication_stri ...
- python链接mysql 判断是否成功_【初学python】使用python连接mysql数据查询结果并显示...
因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...
- eclipselink mysql_Eclipse连接MySQL数据库(傻瓜篇)
Eclipse连接MySQL数据库(傻瓜篇) 本来不想写这么简单人文章,在百度上搜索我这个标题,完全符合标题的一大堆.但我按照那些文章捣鼓了很久,就是不行. 我的环境:MySQL:mysql-esse ...
最新文章
- 学数学,你要如何过题海:游泳?冲浪?划小船?开游艇?
- 疫情当前,宅家学习不无聊,AI视频课程资源盘点
- Kalman Filter
- 天天说常识推理,究竟常识是什么?
- 从“嵌入式”到“物联网”有哪些变化?
- ios tabbar中间凸起_移动端开发基础【21】tabBar 配置
- MyBatis框架、log4j、数据库的配置文件
- 树莓派 Pico Pi USB串口通信
- 《谈谈方法》这本小书篇幅很短,然而想说的却很多
- 【硕士论文】《动态场景下的语义三维地图构建 》西南科技大学 余东应
- 北京“银医一卡通”项目启动
- Angularjs兼容低版本IE
- Java学习 --- 设计模式七大原则的依赖倒转原则
- 处理 web 程序的输入与输出
- 实战!Python常见的几种数据可视化案例
- matlab编程求卫星轨道长度,卫星位置速度与轨道根数之间的计算
- 【夏目鬼鬼分享】SpringBoot集成热部署(IDEA)
- 如何让人更高效的完成事情
- uniapp人脸识别解决方案
- 假设检验_样本容量选取20211204