Postfix抛出一个错误说:
7 月 9 日 14:41:26 tmail postfix/trivial-rewrite[4342]:警告:连接到 mysql 服务器 unix:/var/run/mysqld/mysqld.sock:无法通过套接字连接到本地 MySQL 服务器'/var/运行/mysqld/mysqld.sock' (2) Jul 9 14:41:26 tmail postfix/trivial-rewrite[4342]: 致命: mysql:/etc/postfix/mysql-yaa-aliases.cf(0,lock|fold_fix ): 查表问题
在 main.cf 我有:
virtual_alias_maps = mysql:/etc/postfix/mysql-yaa-aliases.cf
在 mysql-yaa-aliases.cf 我有:
hosts = unix:/var/run/mysqld/mysqld.sock
# hosts = 127.0.0.1
user = yaa_admin
password = ********
dbname = yaa
query = SELECT dest FROM yaa_active_aliases WHERE address='%s'
如果我使用 127.0.0.1 它可以工作(不理想,因为我更喜欢套接字的速度。)另外,如果我用 postmap 测试套接字它可以工作:
# postmap -q "bholly@example.org" mysql:/etc/postfix/mysql-yaa-aliases.cf
bholly@example.org, bholly@autoreply.example.org
当我在 trivial-rewrite 守护进程上使用 strace 时,我得到:
connect(11, {sa_family=AF_FILE, path="/var/run/mysqld/mysqld.sock"}, 110) = -1 ENOENT (No such file or directory)
而使用 postmap 的 strace 我得到:
connect(4, {sa_family=AF_FILE, path="/var/run/mysqld/mysqld.sock"}, 110) = 0
顺便说一句 - 目前正在运行 Postfix 2.7,但故障仍然显示为 2.9