tutorial do ISPmail

1

Estou seguindo o famoso tutorial e estou em esta etapa

No entanto, tenho um problema ao tentar executar

postmap -q example.org mysql:/etc/postfix/mysql-virtual-box-domains.cf

Eu recebo:

postmap: warning: connect to mysql server 127.0.0.1: Lost connection to MySQL server at 'reading initial communication packet', system error: 0

No entanto, eu sou capaz de conectar ao mysqld via mysql: mysql -u mailuser -p , com a senha "foo". O arquivo .cf é assim:

user = mailuser
password = foo
hosts = 127.0.0.1
dbname = mailserver
query = SELECT 1 FROM virtual_domains WHERE name='%s'

Qual poderia ser o problema?

Adendo

A parte relevante do my.cf tem esta aparência:

# The MySQL server
[mysqld]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 16K
myisam_sort_buffer_size = 8M

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking
bind-address = 127.0.0.1
    
por Flavius A 18.02.2010 / 18:17

2 respostas

1

execute o postmap com saída mais detalhada e poste a saída aqui. Espero que você obtenha alguma informação útil.

postmap -vvvq example.org mysql:/etc/postfix/mysql-virtual-box-domains.cf
    
por 18.02.2010 / 19:29
0

O mysqld pode ouvir tanto um soquete local quanto um soquete tcp / ip. Por padrão, ele se conecta ao soquete local (que é como você está se conectando ao executar "mysql" na linha de comando). O postgres está tentando se conectar através de um socket tcp / ip no localhost e não está conseguindo.

Então, faça o mysqld ouvir em ambos os tipos de interface (ou descubra porque não é, se for suposto ser), ou faça os postgres usarem o soquete local.

Para simular o que o postgres está fazendo na linha de comando BTW, você pode executá-lo assim:

mysql -u mailuser -h 127.0.0.1 -p
    
por 18.02.2010 / 18:44