iT邦幫忙

0

postfix 搭配 mysql 問題請教

  • 分享至 

  • xImage

各位先進好..
最近小弟測試使用Postfix與Mysql搭配,並開啟Selinux
使用測試指令postmap -q xxx mysql:/etc/postfix/mysql-virtual_alias_maps.cf
時會出現以下錯誤
postmap: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket sql.sock' (13)

在Selinux方面有關postfix與mysql部份的限制都已開啟了,但仍無法成功查詢。
不知是否有人知道在不關閉Selinux下,要開啟Selinux那個選項或者其它,才可以查詢成功
底下是main.cfy內容
alias_database = hash:/etc/aliases
alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
local_recipient_maps = mysql:/etc/postfix/mysql-virtual_localrecip.cf
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, 172.20.0.11
myhostname = smtps.sytes.net
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
sample_directory = /usr/share/doc/postfix-2.3.3/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
unknown_local_recipient_reject_code = 550

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

4
cocl
iT邦新手 5 級 ‧ 2011-11-28 11:41:18
最佳解答

restorecon -R /var/lib/mysql
試看看是否可行

yaojie iT邦新手 5 級 ‧ 2011-11-28 20:51:44 檢舉

感謝你的回覆...
這方法我有試過了,狀況依舊..= =

6
wiseguy
iT邦超人 1 級 ‧ 2011-11-25 23:31:04

錯誤訊息已經告訴你,是因為找不到 mysql 的 socket (sql.sock),所以無法連到 mysql。
假如你的 mysql 是用 rpm/yum 裝的,那麼 socket 預設會在
/var/lib/mysql/mysql.sock
假如你的 mysql 是自己編譯的,那麼 socket 應該預設會在
/tmp/mysql.sock
看一下自己系統中,哪個才是 socket 正確的位置。
再找一下 postfix 是哪個設定把 socket 設到 sql.sock 去的,把它改到正確的 socket 位置即可。

yaojie iT邦新手 5 級 ‧ 2011-11-26 01:33:34 檢舉

感謝你的回覆...
我的postfix與mysql都是使用RPM套件安裝的
我的mysql.sock是在 /var/lib/mysql/mysql.sock
當我們Selinux關閉時,在查詢上是沒有問題的,但當把Selinux開啟後,才會有以上的錯誤訊息產生,所以我在問題提問時,才會特別說在不關閉Selinux狀況下有何方式解決。

我要發表回答

立即登入回答