postfixadmin 无法连接到 mysql 数据库。
错误:无法连接到数据库请编辑 config.local.php 中的 $CONF['database_*'] 参数。
调试信息:连接:拒绝用户“postfixadmin”@“localhost”访问(使用密码:是)
在 config.local.php 中一切似乎都很好,并且使用
mysql -u postfixadmin -p
我可以使用相同的密码轻松连接到该数据库。
这是我的 config.local.php
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfixadmin';
$CONF['database_password'] = 'XXXXXXXX';
$CONF['database_name'] = 'postfixadmin';
$CONF['database_use_ssl'] = false;
$CONF['database_ssl_key'] = NULL;
$CONF['database_ssl_cert'] = NULL;
$CONF['database_ssl_ca'] = NULL;
$CONF['database_ssl_ca_path'] = NULL;
$CONF['database_ssl_cipher'] = NULL;
$CONF['database_prefix'] = '';
我在 raspberrypi 4B 上使用 raspban 10 buster,并将所有内容直接安装在主机下
在 /var/log/nginx/postfixadmin_error.log 中我有这个
2019/12/29 23:04:05 [错误] 12968#12968:*1 FastCGI 在 stderr 中发送:“PHP 消息:错误:目录 /usr/share/postfixadmin/lib/../templates_c 不存在或对于 Web 服务器不可写入”从上游读取响应标头时,客户端:8.8.8.8,服务器:mail.example.com,请求:“GET /login.php HTTP/2.0”,上游:“fastcgi://unix:/run/php/php7.3-fpm.sock:”,主机:“mail.example.com”,引荐来源:“https://mail.example.com/setup.php
我将我的 IP 替换为 8.8.8.8,将我的域名替换为 example.com
我创建了文件夹 /usr/share/postfixadmin/lib/templates_c
这是权限 drwxr-xr-x 2 www-data www-data 4096 1 月 2 日 10:34 templates_c。然后我重新启动了 nginx 和 postfix 服务,但没有任何作用。
在 /var/log/mail.err 中我也收到此错误
1 月 2 日 10:38:46 kontakt postfix/proxymap[17706]: 错误:打开 /etc/postfix/sql/mysql_virtual_domains_maps.cf:没有此文件或目录
如能得到任何帮助我将十分感激。
答案1
GRANT ... @'%'
包括
GRANT ... @'8.8.8.8'
但不是
GRANT ... @localhost
如果您同时需要套接字(localhost)和 TCP/IP 访问,则必须提供两个GRANTs
。
答案2
在此命令中,mysql -u postfixadmin -p
您的密码为空,但在配置文件中,您有$CONF['database_password'] = 'XXXXXXXX';
。尝试使用以下命令删除 XXXXX$CONF['database_password'] = '';