Jump to content
Froxlor Forum
  • 0
Mathias

[solved] Too many connections (mysql) - Postfix sleeping processes - lookup error

Question

Hallo,

 

ich benutze Postfix mit policyd-weight und selektivem Greylisting über postgrey.

 

Leider kam es immer wieder zu MySQL-Fehlern durch "Too many connections", obwohl ich schon in der my.cnf "max_connections = 500" gesetzt habe.

Entsprechend erhielt der postmaster Mails :Postfix SMTP server: errors from ....

In der mail.log fand sich:

warning: mysql:/etc/postfix/mysql-virtual_alias_maps.cf lookup error for "adresse@domain.de"
warning: DD03C2982F24: virtual_alias_maps map lookup problem for adresse@domain.de -- message not accepted, try again later

 

Ein "mysqladmin -pPASSWORT extended-status | grep -wi 'threads_connected\|threads_running' | awk '{ print $2,$4}'" zeigte mir mehrere hundert offene Verbindungen, 

mit ' mysql -pPASSWORT -e "show processlist;" ' fand ich hunderte Prozesse im Status Sleep auf meine froxlor-Datenbank.

 

Ursache: Postfix hält die Abfragen während der Mail-Bearbeitung offen.

Abhilfe: Postfix zur Verwendung von proxymap umkonfigurieren.

 

In der /etc/postfix/main.cf

proxy_read_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf,
                  proxy:mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf,
                  proxy:mysql:/etc/postfix/mysql-virtual_alias_maps.cf,
                  proxy:unix:passwd.byname

virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_alias_maps.cf

Jetzt sind nur noch weniger als 10 offene MySQL-Prozesse übrig und alles läuft wieder rund.

 

Diese Anpassung könnte man sicher auch in's Froxlor aufnehmen, denn Google zeigt, dass schon häufiger nach diesem Fehler gesucht wurde.

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By mrairstone
      Guten Morgen,
      mir ist in Froxlor ein kleiner Fehler in Bezug auf CatchAll Email aufgefallen.
      Zum System:
      Debian 10, 64-Bit Froxlor 0.10.11 Postfix, Dovecot, Spamc Zum Problem:
      Beim Anlegen einer neuen E-Mailadresse kann man je Domain nur eine CatchAll-Adresse definieren. Wenn man jedoch eine bestehende E-Mailadresse bearbeitet, kann man dort ganz einfach auf CatchAll umschalten.
      Dadurch kann es passieren, dass mehrere Emailadressen unterhalb einer Domain als CatchAll definiert sind. Das ist mir erst aufgefallen, als ich E-Mails in meinem Postfach hatte, welche nicht für meine E-Mailadresse bestimmt waren.
      Da auf dem Account in Froxlor mehrer Nutzer zugreifen (Feuerwehr) und E-Mailadressen hinzufügen, ändern und auch löschen - habe ich erst sehr spät gesehen das mehrere CatchAll vorhanden waren.
      Wenn man eine Mail an eine E-Mailadresse sendet, welche als CatchAll definiert wurde, wird die Mail auch an alle anderen E-Mailadressen weitergeleitet, die unterhalb der Domain als CatchAll definiert sind.(Jedenfalls bei postfix)
      Temporäre Lösung:
      Damit eingehende Mails an eine vorhandene E-Mailadresse, welche als CatchAll definiert ist, auch nur im Postfach dieser E-Mailadresse landen, habe ich die SQL-Anweisung in der "mysql-virtual_alias_maps.cf" wie folgt abgeändert:
      query = SELECT destination FROM mail_virtual AS v, panel_customers AS c WHERE c.customerid = v.customerid AND c.deactivated = 0 AND (v.email = '%s' OR v.email_full = '%s') AND trim(v.destination) <> '' Ich habe das eben auch noch einmal in der Demoversion ausprobiert, Screenshot im Anhang.
       
      Gruß

    • By thunfischbaum
      Hi everyone,
      just a little problem here. I have severa domains registered on my froxlor installation and a different hostname of course. So let's say domain1.de is my hostname. The second domain, which is used by a customer is called domain2.de . When I view the mail.log I am not able to find my connection request. I do only see the bruteforce bots with example@domain1.de connecting. But any example@domain2.de request is not getting forwareded. I did configure the installation accordingdly with the provided templates.
      Best regards,
      thunfischbaum
    • By thunfischbaum
      Hi everyone,
      I'm running a Debian 10 Buster Server with PHP7.3 installed. The PHP7.3 update is the new component in the system. since then, I can't find any Mailboxes. There are no folders in the var/customers/mail/[customer] directory.
      If you take look at the Screenshot, you see, that the E-Mail adress is existent in Froxlor. 

      Mail Bounce
      Mail Log
       
      If I missed a log, please let me know, so I can attach it
      Best regards,
      thunfischbaum

    • By JavaLink
      Hi
      I try install Froxlor several times bu every time i get error
       SQLSTATE[HY000] [1045] Access denied for user 'myuser'@'localhost' (using password: YES)
      I do these things for create use:
      CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'pP123!@#Hello'; then
      create database froxlor;  
      and then
      GRANT ALL PRIVILEGES ON `froxlor` TO 'myuser'@'localhost';
       
      FLUSH PRIVILEGES;  
      I check connection with a file called con.php contain this ---> and it's OK.
      <?php $servername = "localhost"; $username = "myuser"; $password = "pP123!@#Hello"; // Create connection $conn = new mysqli($servername, $username, $password); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully";  
      but after run froxlor to install it and fill all information, i get that error.
      Also i check again with server and find out that the `myuser` user is deleted...What happened? What Froxlor do?
×
×
  • Create New...