After a package update on Debian Squeeze mysqld refused to start. Syslog contained the following:
mysqld_safe: Starting mysqld daemon with databases from /var/lib/mysql
mysqld: 111108  8:51:00 [Note] Plugin 'FEDERATED' is disabled.
mysqld: 111108  8:51:00  InnoDB: Initializing buffer pool, size = 8.0M
mysqld: 111108  8:51:00  InnoDB: Completed initialization of buffer pool
mysqld: 111108  8:51:00  InnoDB: Started; log sequence number 0 44609
mysqld: 111108  8:51:00 [ERROR] /usr/sbin/mysqld: unknown variable 'lc-messages-dir=/usr/share/mysql'
mysqld: 111108  8:51:00 [ERROR] Aborting
mysqld: 111108  8:51:00  InnoDB: Starting shutdown...
mysqld: 111108  8:51:05  InnoDB: Shutdown completed; log sequence number 0 44609
mysqld: 111108  8:51:05 [Note] /usr/sbin/mysqld: Shutdown complete
mysqld_safe: mysqld from pid file /var/run/mysqld/ ended
/etc/init.d/mysql[3890]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
/etc/init.d/mysql[3890]: #007/usr/bin/mysqladmin: connect to server at 'localhost' failed
/etc/init.d/mysql[3890]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
/etc/init.d/mysql[3890]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
The line that looked like the error was:
mysqld: 111108  8:51:00 [ERROR] /usr/sbin/mysqld: unknown variable 'lc-messages-dir=/usr/share/mysql'
So by editing /etc/mysql/my.cnf and commenting out this variable, mysql is working again.
nano /etc/mysql/my.cnf

# * Basic Settings
user            = mysql
pid-file        = /var/run/mysqld/
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
#lc-messages-dir        = /usr/share/mysql