Re: issue connecting to mysql after upgrade
Jeff Weinberger a écrit : > Hello again: > > One more issue on which I would appreciate any help anyone can offer: > > Yesterday I upgraded my postfix installation from 2.5.2 to 2.5.5 and my > MySQL installation from 5.0.51b to 5.0.75. Immediately after restarting > everything (the whole computer), I started seeing these messages in my > mail log: > > Jan 1 09:48:35 s postfix/smtpd[13199]: warning: connect to mysql > server localhost: Can't connect to local MySQL server through socket > '/tmp' (38) > Jan 1 09:48:35 s postfix/cleanup[13201]: warning: connect to mysql > server localhost: Can't connect to local MySQL server through socket > '/tmp' (38) > Jan 1 09:48:42 s postfix/trivial-rewrite[13205]: warning: connect > to mysql server localhost: Can't connect to local MySQL server through > socket '/tmp' (38) > > As far as I can tell this has been consistent with smtpd, cleanup and > trivial-rewrite, but nothing else. (there have been pre-existing issues, > per my prior conversation with mouss, with dspam, but these have not > changed at all - they existed before the upgrade and still exist) > > I use mysql for nearly all my tables in postfix. All of my aliases are > working and forwarding fine, which means that postfix can access my > mysql database (and yes, postconf -m shows mysql). virtual is finding > the maildirs correctly for my virtual mailboxes. > > However, my sender_canonical_maps are no longer working after the > upgrade (outbound addresses are not being rewritten at all as they were > before the upgrade) > > As an example, my main.cf contains: >sender_canonical_maps=mysql:/etc/postfix/mysql_canonical_maps.cf > > and mysql_canonical_maps.cf contains: > > user = postfixuser > password = postfixpassword > hosts = localhost, 127.0.0.1 > dbname = postfixdatabase > query = SELECT result FROM canonical WHERE address='%s' AND active='Y' > > (obvious information changed). This is unchanged before and after the > upgrade. > > The query works on all the addresses (I tested it at the mysql command > prompt). > > I also tested a local telnet to 127.0.0.1 on port 3306 which worked as > expected and mysql responds perfectly. I also tested connection through > the localhost socket with works as expected. Also several other parts of > my mail system (e.g. courier_auth) connect through the socket and report > success. And as noted, postfix is able to connect most of the time > (aliases, virtual maildirs, etc.). Other software on my system, e.g. > PHP, is also able to connect to mysql successfully. > > I tried all the steps in the MySQL documentation on dev.mysql.com > suggested to diagnose this error, and all confirmed that the MySQL > server is working correctly. > > So I find myself not knowing where to look next, and I hope someone here > knows what might be happening or at least be able to point me in the > right direction. > > One additional piece of information: I am running on Mac OS/X and as > part of this upgrade, I installed the 10.5.5 to 10.5.6 upgrade (thus > needing to restart my computer). This upgrade is known to break postfix. > So I reinstalled postfix and my main.cf and master.cf files after the > upgrade and stopped and restarted postfix to be sure. (and mysql) > > What other information might be helpful in diagnosing this? > - check whether any services are chrooted in master.cf (the 5th field must be set to 'n' and not to 'y' or '-')? - try using proxymap (foo_maps=proxy:mysql:/etc/). - make sure the mysql socket is accessible by postfix (and not just by root). - try with "hosts = 127.0.0.1" (without "localhost") why do use sender_canonical instead of canonical? rewrite should be consistent, and "your sender is the recipient's recipient"...
Re: issue connecting to mysql after upgrade
Salaam, I think that you may have to add proxy to this line This is your line: sender_canonical_maps=mysql:/etc/postfix/mysql_canonical_maps.cf This is what I suggest: sender_canonical_maps= proxy:mysql:/etc/postfix/mysql_canonical_maps.cf We use postgres in our organization and we use that proxy keyword too. Wa Salaam, Muhammed Sameer --- On Thu, 1/1/09, Jeff Weinberger wrote: > From: Jeff Weinberger > Subject: issue connecting to mysql after upgrade > To: post...@yahoogroups.com, postfix-us...@yahoogroups.com, > postfix-users@postfix.org, postfix-us...@egroups.com > Date: Thursday, January 1, 2009, 4:31 PM > Hello again: > > One more issue on which I would appreciate any help anyone > can offer: > > Yesterday I upgraded my postfix installation from 2.5.2 to > 2.5.5 and my MySQL installation from 5.0.51b to 5.0.75. > Immediately after restarting everything (the whole > computer), I started seeing these messages in my mail log: > > Jan 1 09:48:35 s postfix/smtpd[13199]: warning: > connect to mysql server localhost: Can't connect to > local MySQL server through socket '/tmp' (38) > Jan 1 09:48:35 s postfix/cleanup[13201]: warning: > connect to mysql server localhost: Can't connect to > local MySQL server through socket '/tmp' (38) > Jan 1 09:48:42 s postfix/trivial-rewrite[13205]: > warning: connect to mysql server localhost: Can't > connect to local MySQL server through socket '/tmp' > (38) > > As far as I can tell this has been consistent with smtpd, > cleanup and trivial-rewrite, but nothing else. (there have > been pre-existing issues, per my prior conversation with > mouss, with dspam, but these have not changed at all - they > existed before the upgrade and still exist) > > I use mysql for nearly all my tables in postfix. All of my > aliases are working and forwarding fine, which means that > postfix can access my mysql database (and yes, postconf -m > shows mysql). virtual is finding the maildirs correctly for > my virtual mailboxes. > > However, my sender_canonical_maps are no longer working > after the upgrade (outbound addresses are not being > rewritten at all as they were before the upgrade) > > As an example, my main.cf contains: > > sender_canonical_maps=mysql:/etc/postfix/mysql_canonical_maps.cf > > and mysql_canonical_maps.cf contains: > > user = postfixuser > password = postfixpassword > hosts = localhost, 127.0.0.1 > dbname = postfixdatabase > query = SELECT result FROM canonical WHERE > address='%s' AND active='Y' > > (obvious information changed). This is unchanged before and > after the upgrade. > > The query works on all the addresses (I tested it at the > mysql command prompt). > > I also tested a local telnet to 127.0.0.1 on port 3306 > which worked as expected and mysql responds perfectly. I > also tested connection through the localhost socket with > works as expected. Also several other parts of my mail > system (e.g. courier_auth) connect through the socket and > report success. And as noted, postfix is able to connect > most of the time (aliases, virtual maildirs, etc.). Other > software on my system, e.g. PHP, is also able to connect to > mysql successfully. > > I tried all the steps in the MySQL documentation on > dev.mysql.com suggested to diagnose this error, and all > confirmed that the MySQL server is working correctly. > > So I find myself not knowing where to look next, and I hope > someone here knows what might be happening or at least be > able to point me in the right direction. > > One additional piece of information: I am running on Mac > OS/X and as part of this upgrade, I installed the 10.5.5 to > 10.5.6 upgrade (thus needing to restart my computer). This > upgrade is known to break postfix. So I reinstalled postfix > and my main.cf and master.cf files after the upgrade and > stopped and restarted postfix to be sure. (and mysql) > > What other information might be helpful in diagnosing this? > > Thank you for any help you can offer!
Re: issue connecting to mysql after upgrade
Jeff Weinberger wrote: Hello again: One more issue on which I would appreciate any help anyone can offer: Yesterday I upgraded my postfix installation from 2.5.2 to 2.5.5 and my MySQL installation from 5.0.51b to 5.0.75. Immediately after restarting everything (the whole computer), I started seeing these messages in my mail log: Jan 1 09:48:35 s postfix/smtpd[13199]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38) Jan 1 09:48:35 s postfix/cleanup[13201]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38) Jan 1 09:48:42 s postfix/trivial-rewrite[13205]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38)Can't connect to local MySQL server through socket '/tmp' /tmp isn't a socket, it's a directory. Run: mysql --xml -uroot -p -e "SHOW VARIABLES WHERE Variable_name = 'socket';" to see where mysql has it's socket, then make sure that postfix is looking for it there, or move the socket, or switch postfix and MySQL to use a TCP socket. If you're running chroot'ed the socket needs to be where postfix can find it. Terry
Re: issue connecting to mysql after upgrade
On Jan 1, 2009, at 1:55 PM, mouss wrote: Jeff Weinberger a écrit : Hello again: One more issue on which I would appreciate any help anyone can offer: Yesterday I upgraded my postfix installation from 2.5.2 to 2.5.5 and my MySQL installation from 5.0.51b to 5.0.75. Immediately after restarting everything (the whole computer), I started seeing these messages in my mail log: Jan 1 09:48:35 s postfix/smtpd[13199]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38) Jan 1 09:48:35 s postfix/cleanup[13201]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38) Jan 1 09:48:42 s postfix/trivial-rewrite[13205]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38) As far as I can tell this has been consistent with smtpd, cleanup and trivial-rewrite, but nothing else. (there have been pre-existing issues, per my prior conversation with mouss, with dspam, but these have not changed at all - they existed before the upgrade and still exist) I use mysql for nearly all my tables in postfix. All of my aliases are working and forwarding fine, which means that postfix can access my mysql database (and yes, postconf -m shows mysql). virtual is finding the maildirs correctly for my virtual mailboxes. However, my sender_canonical_maps are no longer working after the upgrade (outbound addresses are not being rewritten at all as they were before the upgrade) As an example, my main.cf contains: sender_canonical_maps=mysql:/etc/postfix/mysql_canonical_maps.cf and mysql_canonical_maps.cf contains: user = postfixuser password = postfixpassword hosts = localhost, 127.0.0.1 dbname = postfixdatabase query = SELECT result FROM canonical WHERE address='%s' AND active='Y' (obvious information changed). This is unchanged before and after the upgrade. The query works on all the addresses (I tested it at the mysql command prompt). I also tested a local telnet to 127.0.0.1 on port 3306 which worked as expected and mysql responds perfectly. I also tested connection through the localhost socket with works as expected. Also several other parts of my mail system (e.g. courier_auth) connect through the socket and report success. And as noted, postfix is able to connect most of the time (aliases, virtual maildirs, etc.). Other software on my system, e.g. PHP, is also able to connect to mysql successfully. I tried all the steps in the MySQL documentation on dev.mysql.com suggested to diagnose this error, and all confirmed that the MySQL server is working correctly. So I find myself not knowing where to look next, and I hope someone here knows what might be happening or at least be able to point me in the right direction. One additional piece of information: I am running on Mac OS/X and as part of this upgrade, I installed the 10.5.5 to 10.5.6 upgrade (thus needing to restart my computer). This upgrade is known to break postfix. So I reinstalled postfix and my main.cf and master.cf files after the upgrade and stopped and restarted postfix to be sure. (and mysql) What other information might be helpful in diagnosing this? - check whether any services are chrooted in master.cf (the 5th field must be set to 'n' and not to 'y' or '-')? All chroot flags are set to "n" - try using proxymap (foo_maps=proxy:mysql:/etc/). Tried this...no change :( - make sure the mysql socket is accessible by postfix (and not just by root). I checked looking at permissions and trying it as the postfix user and all works (I suspected it would, as many accesses work fine (aliases, etc. as I noted earlier) - try with "hosts = 127.0.0.1" (without "localhost") Tried this - no change. :( I tried each of the suggestions you made with alias, virtual and local addresses I noticed that when local complained about mysql access, it still did fine looking up the local alias and forwarding it correctly. I'm starting to wonder whether this is a "can't connect" or a delay in connecting - is it possible that it's taking too long to connect so a warning is reported, but the connection happens eventually? or that it works on a retry? The only thing I've found that doesn't work as expected is sender_canonical_maps which would invalidate this theory, but the local behavior makes me think it's a possibility? Alternatively, is it possible that something in the mysql capabilities of postfix compiled wrong? I am not that familiar with gcc and the build process (I use what I know works) - is there something I can look at in the ./configure or make output that would tell me? I did try rebuilding (./configure,. make, make install) three times... why do use sender_canonical instead of canonical? rewrite should be consistent, and "your sender is the recipient's recipient"... This i
Re: issue connecting to mysql after upgrade
Jeff Weinberger a écrit : >> [snip] >> >> - try with "hosts = 127.0.0.1" (without "localhost") > > Tried this - no change. :( > ahem. if you do this, you should not hear about a socket. it should use a TCP connection. can you show the errors? > [snip] >> >> why do use sender_canonical instead of canonical? rewrite should be >> consistent, and "your sender is the recipient's recipient"... >> >> >> > > This is mostly because I use maildrop as the virtual delivery agent for > many of the virtual mailboxes. I'm really just testing this, and may end > up using canonical instead. But here's my thinking: > > I have one user who wants a minor change - sounds silly, but gives me a > good chance to experiment/learn. I'm rewriting the one address to a > specific capitalization. I know I'll be doing more with more users soon. > > I want to rewrite when mail goes to someone outside my postfix install. > canonical_maps would also rewrite inbound mail to that address, which is > not bad, but not the desired behavior. > > So I am trying sender_canonical_maps to get the behavior I want. > Then you may want to use smtp_generic_maps instead of canonical.
Re: issue connecting to mysql after upgrade
On Jan 1, 2009, at 4:53 PM, mouss wrote: Jeff Weinberger a écrit : [snip] - try with "hosts = 127.0.0.1" (without "localhost") Tried this - no change. :( ahem. if you do this, you should not hear about a socket. it should use a TCP connection. can you show the errors? I would think so also. I'm at a loss here, but I think this is no longer a problem. i was able to turn on very verbose logging in mysql, and it turns out that all the queries are in fact being made. I also have to confess to a bit of stupidity about my own ability to hold enough configuration information in my head (making postfix much smarter than I am!). I have dspam set to filter all mail both inbound and outbound (this has to change, but served the purpose when I initially set it up. And to stop multiply always_bcc results, specified "-o receive_override_options=no_address_mappings" in the master.cf entry for re-injection. the pipe to dspam is case-folding and then the sender_canonical_maps are being ignored. I didn't event think to look at this as a reason canonical was failing. I apologize sincerely for taking so much time and effort to get here and for leading you down this path. But still I appreciate the help. This will help me clean up this set of configuration issues. As to the warnings, I still don't know. Everything seems to be working, but issuing warnings. Here are a bunch of the errors - from more reading I think the key is in the (38) which I think(??) is a postfix error code...is it? do you know what it means?: Jan 1 17:00:33 s postfix/smtpd[21502]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/ tmp' (38) Jan 1 17:00:33 s postfix/cleanup[21517]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/ tmp' (38) Jan 1 17:06:33 s postfix/trivial-rewrite[21546]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38) Jan 1 17:06:34 s postfix/smtpd[21544]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/ tmp' (38) Jan 1 17:06:34 s postfix/cleanup[21547]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/ tmp' (38) Jan 1 17:09:42 s postfix/trivial-rewrite[21582]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38) Jan 1 17:09:42 s postfix/smtpd[21581]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/ tmp' (38) Jan 1 17:09:42 s postfix/cleanup[21583]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/ tmp' (38) Jan 1 17:09:45 s postfix/local[21587]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/ tmp' (38) Jan 1 17:09:58 s postfix/trivial-rewrite[21592]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38) Jan 1 17:11:50 s postfix/trivial-rewrite[21624]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38) Jan 1 17:11:50 s postfix/smtpd[21623]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/ tmp' (38) Jan 1 17:11:50 s postfix/cleanup[21625]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/ tmp' (38) Jan 1 17:15:46 s postfix/trivial-rewrite[21648]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38) Jan 1 17:15:49 s postfix/smtpd[21646]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/ tmp' (38) Jan 1 17:15:49 s postfix/cleanup[21649]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/ tmp' (38) Jan 1 17:19:10 s postfix/trivial-rewrite[21675]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38) [snip] why do use sender_canonical instead of canonical? rewrite should be consistent, and "your sender is the recipient's recipient"... This is mostly because I use maildrop as the virtual delivery agent for many of the virtual mailboxes. I'm really just testing this, and may end up using canonical instead. But here's my thinking: I have one user who wants a minor change - sounds silly, but gives me a good chance to experiment/learn. I'm rewriting the one address to a specific capitalization. I know I'll be doing more with more users soon. I want to rewrite when mail goes to someone outside my postfix install. canonical_maps would also rewrite inbound mail to that address, which is not bad, but not the desired behavior. So I am trying sender_can
Re: issue connecting to mysql after upgrade
Terry Carmen wrote: Jeff Weinberger wrote: Hello again: One more issue on which I would appreciate any help anyone can offer: Yesterday I upgraded my postfix installation from 2.5.2 to 2.5.5 and my MySQL installation from 5.0.51b to 5.0.75. Immediately after restarting everything (the whole computer), I started seeing these messages in my mail log: Jan 1 09:48:35 s postfix/smtpd[13199]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38) Jan 1 09:48:35 s postfix/cleanup[13201]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38) Jan 1 09:48:42 s postfix/trivial-rewrite[13205]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/tmp' (38)Can't connect to local MySQL server through socket '/tmp' /tmp isn't a socket, it's a directory. Run: mysql --xml -uroot -p -e "SHOW VARIABLES WHERE Variable_name = 'socket';" to see where mysql has it's socket, then make sure that postfix is looking for it there, or move the socket, or switch postfix and MySQL to use a TCP socket. If you're running chroot'ed the socket needs to be where postfix can find it. Terry Sorry about the --xml. Although it doesn't hurt anything, you don't really need it. In any event, if you're getting the error messages, I don't see how postfix can be using mysql. Terry
Re: issue connecting to mysql after upgrade (issue not postfix)
On Jan 1, 2009, at 4:53 PM, mouss wrote: Jeff Weinberger a écrit : [snip] - try with "hosts = 127.0.0.1" (without "localhost") Tried this - no change. :( ahem. if you do this, you should not hear about a socket. it should use a TCP connection. can you show the errors? OK, now I've taken out the localhost again and there's no more complaining. (not sure why It continued complaining last time...) This is not a postfix issue. This is clearly a MySQL socket issue. I'm pursuing this on the MySQL lists. Thank you! [snip] why do use sender_canonical instead of canonical? rewrite should be consistent, and "your sender is the recipient's recipient"... This is mostly because I use maildrop as the virtual delivery agent for many of the virtual mailboxes. I'm really just testing this, and may end up using canonical instead. But here's my thinking: I have one user who wants a minor change - sounds silly, but gives me a good chance to experiment/learn. I'm rewriting the one address to a specific capitalization. I know I'll be doing more with more users soon. I want to rewrite when mail goes to someone outside my postfix install. canonical_maps would also rewrite inbound mail to that address, which is not bad, but not the desired behavior. So I am trying sender_canonical_maps to get the behavior I want. Then you may want to use smtp_generic_maps instead of canonical.