MySQL won't start, no error messages
After doing some performance debugging on mysql running in a vm I found the mysqld service refused to start. The log files showed nothing other than it exiting with an exit code of 1.
Running mysqld from the command line (with sudo -u mysql mysqld -v) also gave nothing useful.
Finally I found a suggestion to run:
sudo -u mysql mysqld_safe --log-error=/tmp/mysql.log
And lo and behold, the resulting logfile contained useful information not found in the default /var/log/mysql/error.log. In this case, I had enabled a config entry in the default config file which is apparently no longer recognised.
So, apparently - silently converting a text literal to 0 is ok for doing a select against an integer column, but finding an unrecognised config directive requires crashing without an error message.
Add this to the long list of reasons why I really hate mysql and use PostgreSQL wherever possible. I think it's time that mysql died a horrible death and everyone moved to sqlite or postgres.