Permissão do arquivo de log do MySQL SystemD negada

1

Instalei o MySQL 5.6 em um servidor CentOS 7 e estou tentando alterar o local do log de erros do padrão /var/log/mysql.log para /var/log/mysqld.err . O MySQL está funcionando corretamente quando eu uso o local de arquivo padrão, mas o serviço systemd falha com err 13 - Permission Denied quando tento alterar o local do arquivo de log. Certifiquei-me de definir as permissões de acesso ao arquivo e proprietário / grupo e reinicie o serviço com o seguinte:

chown mysql:mysql /var/log/mysqld.err
chmod 640 /var/log/mysqld.err
systemctl daemon-reload
systemctl restart mysql

mas o serviço mysqld ainda falha com o erro Permission Denied quando tenta logar a saída em /var/log/mysqld.err .

Eu até tentei definir as permissões de acesso de arquivo em /var/log/mysqld.err a 777. Nesse caso, o script mysqld_safe conseguiu gravar no arquivo de log com êxito quando eu o executei manualmente, mas o serviço systemd ainda falha mesmo embora eu permitisse que qualquer usuário editasse o arquivo.

Existem configurações diferentes de direitos de acesso a arquivos e configurações de proprietário / grupo que limitam quais arquivos um serviço do systemd pode acessar? Como observação, não fiz modificações no script de serviço que está instalado a partir do repositório MySQL, nem adicionei nenhum arquivo de sobregravação para o serviço.

    
por Copernicus 18.04.2018 / 18:23

1 resposta

1

A.B estava correto sobre o problema estar com as permissões do SELinux. O novo arquivo precisava de um mysqld_log_t type. Corrigi o problema alterando o tipo:

chcon -t mysqld_log_t /var/log/mysqld.err

    
por 18.04.2018 / 19:24