乙個最簡單的測試php**,在測試環境很正常,但是在正式環境下,無論用何種方式(tcp/ip、unix socket)都無法連線mysql。
could not connect: can't connect to mysql server on 'mysql.server' (13)
無論如何修改mysql的授權,或者調整php.ini中關於mysql的設定,或者修改mysql的監聽網口,都無法解決。
而如果用命令列人工連線mysql,則一切正常。
問題看起來像是php(with apache)不被允許連線mysql,但是防火牆也沒有限制。想來想去,唯有selinux的因素會導致這個問題。
可以看到這裡設定了httpd程序的許可模式,再仔細看一下,有乙個選項:
現在明白了,原來是selinux限制了httpd對外訪問的許可權。將其開啟即可:
如果對selinux不熟悉,也可以直接修改系統配置檔案 /etc/sysconfig/selinux,全域性關閉:
# 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
#把設定改為disabled
selinux=disabled
# selinuxtype= can take one of these two values:
# targeted - targeted processes are protected,
# mls - multi level security protection.
selinuxtype=targeted
然後重啟作業系統,即可生效。
[root@imysql~]# setenforce 0
setenforce: selinux is disabled
CentOS 關閉啟用selinux
1 臨時關閉以及啟用 usr sbin setenforce 0 立刻關閉 selinux usr sbin setenforce 1 立刻啟用 selinux 加到系統預設啟動裡面 echo usr sbin setenforce 0 etc rc.local 這樣,我們在不需要在centos系統...
mysql 資料安裝後啟用遠端訪問!
mysql是乙個非常好使用的工具,在我們每次安裝後,但他都設定成只能本地訪問!對於我們來講很不方便!所以現在把這個方法記錄下來,給自己方便的同時也給新手們乙個參考!安裝完成後開啟客戶端,並輸入密碼執行以下操作 1 use mysql 2 update user set host where user...
遠端重新啟用3389
遠端重新啟用3389 端服務連線提供了客戶機可用於登入到伺服器上某個會話的鏈結,這種連線需要rdp 遠端桌面協議 支援。也就是說,在2000server中如果安裝了終端服務元件,而且服務也正常執行,但還是有乙個地方可以關掉3389埠的.你開啟 控制面板 管理工具 終端服務配置 在 連線 裡,再在 r...