Esta manhã corri yum update
e foi concluída com sucesso. Percebemos, no entanto, que o servidor de banco de dados não estava em execução. Como root, eu corri:
service mysqld restart
O que me deu o seguinte erro:
[root@ombrelle ~]# service mysqld start
MySQL Daemon failed to start.
Starting mysqld: [FAILED]
E em mysqld.log
, vejo o seguinte:
141106 08:31:09 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/libexec/mysqld: File '/var/lib/binary-logs/binary-log.index' not found (Errcode: 13)
141106 8:31:09 [ERROR] Aborting
141106 8:31:09 [Note] /usr/libexec/mysqld: Shutdown complete
141106 08:31:09 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Isso indicaria para mim que é algo relacionado a permissões? Registros binários estão localizados em /var/lib/binary-logs
.
[root@ombrelle ~]# ls -alZ /var/lib/
...
drwxr-xr-x. mysql mysql unconfined_u:object_r:var_lib_t:s0 binary-logs
...
drwxr-xr-x. mysql mysql system_u:object_r:mysqld_db_t:s0 mysql
...
E:
[root@ombrelle ~]# ls -alZ /var/lib/binary-logs/*.index
-rw-rw----. mysql mysql unconfined_u:object_r:var_lib_t:s0 /var/lib/binary-logs/binary-log.index
Eu não modifiquei nenhuma dessas permissões ou a configuração do MySQL. Tudo está funcionando bem há meses, com algumas reinicializações usando service mysqld restart
nesse período.
Estamos executando o Centos 6.5, servidor MySQL da webatic:
mysql55w-server.x86_64 5.5.40-1.w6 @webtatic
Aqui está minha configuração de /etc/my.cnf
:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
# replicate (almost) everything...
replicate-wild-ignore-table=mysql.%
# ...but don't pass dev databases on
binlog-do-db=somedb
server-id=666
report-host=ourhost.co.uk
log-bin=/var/lib/binary-logs/binary-log
binlog_format=MIXED
log-slave-updates=1
Atualização: vi esta mensagem em /var/log/audit/audit.log
do SELinux:
type=AVC msg=audit(1415263841.315:946413): avc: denied { read write } for pid=49196 comm="mysqld" name="binary-log.index" dev=md2 ino=5646260 scontext=unconfined_u:system_r:mysqld_t:s0 tcontext=unconfined_u:object_r:var_lib_t:s0 tclass=file
type=SYSCALL msg=audit(1415263841.315:946413): arch=c000003e syscall=2 success=no exit=-13 a0=f974c0 a1=42 a2=1b0 a3=fffffffffffffffd items=0 ppid=48629 pid=49196 auid=0 uid=27 gid=27 euid=27 suid=27 fsuid=27 egid=27 sgid=27 fsgid=27 tty=pts5 ses=8098 comm="mysqld" exe="/usr/libexec/mysqld" subj=unconfined_u:system_r:mysqld_t:s0 key=(null)
Estou começando a achar que preciso de algum contexto específico na minha pasta binary-logs
, e talvez o fato de não ter esse problema fosse porque ele não foi reinicializado há muito tempo? (Embora eu ainda não entenda porque isso não teria sido um problema com um simples service mysqld restart
).
Atualização: Eu adicionei uma resposta que corrige os problemas, mas a questão permanece: por que isso funcionou antes e parou de funcionar depois que eu executei yum update
?