Em algum momento, o Percona MySQL no CentOS 6.4 parece ter parado de ler my.cnf, possivelmente depois que o MySQL atualizou para 5.5.33 alguns dias atrás.
Seleção de /etc/my.cnf:
[mysqld]
# GENERAL #
user = mysql
default-storage-engine = InnoDB
socket = /var/lib/mysql/mysql.sock
pid_file = /var/run/mysql.pid
symbolic-links = 0
# CHARACTER SET AND COLLATION #
collation-server = utf8_unicode_ci
character-set-server = utf8
init-connect = 'SET NAMES utf8'
init-connect = 'SET collation_connection = utf8_unicode_ci'
# DATA STORAGE AND LOGGING #
datadir = /var/lib/mysql
tmpdir = /tmp
slow_query_log_file = mysql-slow.log
slow_query_log = 1
long_query_time = 8
log_error = mysql-error.log
# CACHES AND LIMITS #
max_connections = 250
max_connect_errors = 10000
open_files_limit = 20000
back_log = 100
wait_timeout = 10800
interactive_timeout = 600
max_allowed_packet = 256M
tmp_table_size = 512M
max_heap_table_size = 64M
query_cache_size = 32M
thread_cache_size = 64
Alguma saída de 'mysqld --help --verbose'
log-error mysql-error.log
slow-query-log TRUE
slow-query-log-file mysql-slow.log
max-connections 250
max-heap-table-size 67108864
Ok, isso parece bom, corresponde à minha configuração. Que tal entrar no mysql e fazer alguns SHOW VARIABLES:
log_error /var/lib/mysql/hostname.err
log_slow_queries OFF
slow_query_log_file /var/lib/mysql/hostname-slow.log
max_connections 151
max_heap_table_size 16777216
Bem, isso não está certo. O log lento está desativado, o log de erros tem o nome errado, a conexão e os tamanhos de heap estão errados e o agrupamento do servidor também está errado.
Processos em execução
root 23533 1 0 12:32 pts/3 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/hostname.pid
mysql 23624 23533 91 12:32 pts/3 01:05:32 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/hostname.err --pid-file=/var/lib/mysql/hostname.pid
Vejo que o log de erros listado no processo tem o nome errado logo de cara. Eu tentei reiniciar manualmente o mysql de /etc/init.d, via 'service mysql restart', reiniciando todo o servidor. Nada parece fazer o MySQL ler o conf.
Talvez algo esteja quebrando quando mysqld_safe ativa uma instância mysql? Nenhum problema relatado no log de erros quando o servidor é iniciado. Alguma ideia?