国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

SELinux導(dǎo)致PHP連接MySQL異常Can't connect to MySQL server的解決方法

2024-07-24 13:06:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了SELinux導(dǎo)致PHP連接MySQL異常Can't connect to MySQL server的解決方法,有2種,一是設(shè)置允許,二是關(guān)閉SELinux,需要的朋友可以參考下
 
 

同事報(bào)告一起奇怪的現(xiàn)象,一個(gè)最簡(jiǎn)單的測(cè)試PHP代碼,在測(cè)試環(huán)境很正常,但是在正式環(huán)境下,無(wú)論用何種方式(tcp/ip、unix socket)都無(wú)法連接se/mysql/' target='_blank'>mysql

我協(xié)助查看了下,確實(shí)如此,無(wú)論是指定IP、端口的tcp/ip方式連接,或者是用unix socket方式連接,報(bào)錯(cuò)信息都類似:

復(fù)制代碼代碼如下:
Could not connect: Can't connect to MySQL server on 'MYSQL.SERVER' (13)

無(wú)論如何修改MySQL的授權(quán),或者調(diào)整php.ini中關(guān)于MySQL的設(shè)置,或者修改MySQL的監(jiān)聽網(wǎng)口,都無(wú)法解決。

 

而如果用命令行人工連接MySQL,則一切正常。

問(wèn)題看起來(lái)像是php(with apache)不被允許連接MySQL,但是防火墻也沒(méi)有限制。想來(lái)想去,唯有SELinux的因素會(huì)導(dǎo)致這個(gè)問(wèn)題。

復(fù)制代碼代碼如下:
getsebool -a|grep -i httpd

 

可以看到這里設(shè)置了httpd進(jìn)程的許可模式,再仔細(xì)看一下,有一個(gè)選項(xiàng):

復(fù)制代碼代碼如下:
getsebool -a|grep -i httpd_can_network_connect
httpd_can_network_connect --> off

現(xiàn)在明白了,原來(lái)是SELinux限制了httpd對(duì)外訪問(wèn)的權(quán)限。將其開啟即可:
復(fù)制代碼代碼如下:
setsebool -P httpd_can_network_connect=1

如果對(duì)SELinux不熟悉,也可以直接修改系統(tǒng)配置文件 /etc/sysconfig/selinux,全局關(guān)閉:
復(fù)制代碼代碼如下:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
#SELINUX=enforcing
#把設(shè)置改為disabled
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

然后重啟操作系統(tǒng),即可生效。
或者,直接執(zhí)行命令,可在線生效:
復(fù)制代碼代碼如下:

[root@imysql~]# setenforce 0
setenforce: SELinux is disabled

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 寻甸| 乌海市| 苏尼特左旗| 麻江县| 阿城市| 诏安县| 昭通市| 水富县| 绥阳县| 喀喇| 云龙县| 波密县| 广宁县| 金溪县| 怀远县| 洞头县| 稷山县| 花垣县| 乌兰县| 惠安县| 石首市| 永仁县| 宁陵县| 平塘县| 陆川县| 云安县| 金溪县| 南皮县| 海兴县| 定日县| 兖州市| 新河县| 历史| 会东县| 大冶市| 太谷县| 灌南县| 个旧市| 聂拉木县| 宝应县| 罗源县|