This documentation is for Dovecot v1.x, see wiki2 for v2.x documentation.

MySQL Problems

If you use MySQL version older than 4.1.18, or in 5.x series older than 5.0.19, there's a problem with conflicting symbols. Either the linking fails completely, or Dovecot can't log in:

dovecot: Oct 14 01:02:22 Error: auth-worker(default): mysql: Connect failed to localhost (db): Access denied for user 'user'@'localhost' (using password: YES) - waiting for 1 seconds before retry

They both have the same root reason: Conflicing sha1_result symbol. Either upgrade to newer MySQL library, or modify Dovecot sources:

cd dovecot
perl -i -pe 's/sha1_result/dovecot_sha1_result/' `find . -name '*.[ch]'`

Another solution to "access denied" is to use OLD_PASSWORD() function to set the password in MySQL. This works because it doesn't use the SHA1 functions.

Note that this is also fixed in Dovecot 1.0rc9 and later.

Also, see also MySQL Servers