[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: Postfix, SASL with MySQL prompting for username and password - FIXED



Ok fixed the problem

 

Postfix, SASL with MySQL

 

username and password prompting users a few times a day when sending email

 

the issue was the default configuration for MySQL server /etc/mysql/my.cnf to many connections are open and MySQL does not accept any more.

 

NOTE: if you are having this problem with email you can look under /var/logs/mail.log for error details

 

Or email them to you with this command

 

egrep '(warning|error|fatal|panic):' /var/log/mail.log | mail -s "maillog" name@domain.com

 

Help this may help others with this issue.

 

MYFIX: I updated the /etc/mysql/my.cnf to medium volume mysql server. sample file below

 

Also don't forget to restart MySQL after changes to my.cnf

 

/etc/init.d/mysql restart

 

 

my.cnf file

********** START FILE ***********

# Example MySQL config file for medium systems.

#

# This is for a system with little memory (32M - 64M) where MySQL plays # an important part, or systems up to 128M where MySQL is used together with # other programs (such as a web server) # # The following options will be passed to all MySQL clients [client]

#password = your_password

port = 3306

socket = /var/run/mysqld/mysqld.sock

 

# Here follows entries for some specific programs

 

# The MySQL server

[mysqld]

port = 3306

socket = /var/run/mysqld/mysqld.sock

skip-locking

key_buffer = 16M

# max_allowed_packet = 1M

table_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

myisam_sort_buffer_size = 8M

 

max_user_connections=500

max_connections=500

 

interactive_timeout = 120

wait_timeout = 120

 

thread_cache = 40

 

skip-name-resolve

 

skip-innodb

 

user = mysql

pid-file = /var/run/mysqld/mysqld.pid

socket = /var/run/mysqld/mysqld.sock

port = 3306

# Both location gets rotated by the cronjob.

#log = /var/log/mysql.log

log = /var/log/mysql/mysql.log

basedir = /usr

datadir = /var/lib/mysql

tmpdir = /tmp

language = /usr/share/mysql/english

skip-external-locking

 

# 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

 

max_allowed_packet = 16M

thread_stack = 128K

 

#

# Query Cache Configuration

#

query_cache_limit = 1048576

query_cache_size = 26214400

query_cache_type = 1

#

# Here you can see queries with especially long duration

 

log-slow-queries = /var/log/mysql/mysql-slow.log

 

 

 

 

# Replication Master Server (default)

# binary logging is required for replication log-bin

 

# required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted

server-id = 1

 

# Replication Slave (comment out master section to use this) # # To configure this host as a replication slave, you can choose between # two methods :

#

# 1) Use the CHANGE MASTER TO command (fully described in our manual) -

# the syntax is:

#

# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,

# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;

#

# where you replace <host>, <user>, <password> by quoted strings and

# <port> by the master's port number (3306 by default).

#

# Example:

#

# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,

# MASTER_USER='joe', MASTER_PASSWORD='secret';

#

# OR

#

# 2) Set the variables below. However, in case you choose this method, then

# start replication for the first time (even unsuccessfully, for example

# if you mistyped the password in master-password and the slave fails to

# connect), the slave will create a master.info file, and any later

# change in this file to the variables' values below will be ignored and

# overridden by the content of the master.info file, unless you shutdown

# the slave server, delete master.info and restart the slaver server.

# For that reason, you may want to leave the lines below untouched

# (commented) and instead use CHANGE MASTER TO (see above)

#

# required unique id between 2 and 2^32 - 1 # (and different from the master) # defaults to 2 if master-host is set # but will not function as a slave if omitted

#server-id = 2

#

# The replication master for this slave - required

#master-host = <hostname>

#

# The username the slave will use for authentication when connecting # to the master - required

#master-user = <username>

#

# The password the slave will authenticate with when connecting to # the master - required

#master-password = <password>

#

# The port the master is listening on.

# optional - defaults to 3306

#master-port = <port>

#

# binary logging - not required for slaves, but recommended #log-bin

 

# Point the following paths to different dedicated disks

#tmpdir = /tmp/

#log-update = /path-to-dedicated-directory/hostname

 

# Uncomment the following if you are using BDB tables #bdb_cache_size = 4M #bdb_max_lock = 10000

 

# Uncomment the following if you are using InnoDB tables #innodb_data_home_dir = /var/lib/mysql/ #innodb_data_file_path = ibdata1:10M:autoextend #innodb_log_group_home_dir = /var/lib/mysql/ #innodb_log_arch_dir = /var/lib/mysql/ # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high #innodb_buffer_pool_size = 16M #innodb_additional_mem_pool_size = 2M # Set .._log_file_size to 25 % of buffer pool size #innodb_log_file_size = 5M #innodb_log_buffer_size = 8M #innodb_flush_log_at_trx_commit = 1 #innodb_lock_wait_timeout = 50

 

[mysqldump]

quick

quote-names

max_allowed_packet = 16M

 

[mysql]

no-auto-rehash

# Remove the next comment character if you are not familiar with SQL #safe-updates

 

[isamchk]

key_buffer = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

 

[myisamchk]

key_buffer = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

 

[mysqlhotcopy]

interactive-timeout

 

 

#----------

#

# This was formally known as [safe_mysqld]. Both versions are currently parsed.

#[mysqld_safe]

#socket = /var/run/mysqld/mysqld.sock

#nice = -5

#

# If you want to enable SSL support (recommended) read the manual or my # HOWTO in /usr/share/doc/mysql-server/SSL-MINI-HOWTO.txt

# ssl-ca=/etc/mysql/cacert.pem

# ssl-cert=/etc/mysql/server-cert.pem

# ssl-key=/etc/mysql/server-key.pem

 

## Mail Volume Settings

#wait_timeout=120

 

********** END FILE ***********

 


From: Acecomp Plus [mailto:mike@acecompplus.org]
Sent: Monday, February 14, 2005 2:50 PM
To: debian-user@lists.debian.org
Subject: Postfix, SASL with MySQL prompting for username and password

 

 

Username and password keeps popping up when users send email.

 

Postfix, SASL with MySQL

O/S Debian 3.1 Sarge

System: 1 Gig Memory, Dual PIII 900

 

We currently have about 500 email accounts using postfix/mysql and most of the time email sends fine without a problem. However we are having an issue with username and password prompting users a few times a day when sending email.

 

I have been monitoring the load on the server using top and normally load is between 0.02 – 1.65 (I have been told SASL will stop when load above 2.00 (Can this be increased))

 

I have also noticed this happened when load was only 0.12 so it maybe some maximum connections setting in mysql or sasl. 

 

Does any one know what may cause this.

 

 

Regards

Michael Taylor

 


Reply to: