Como você muda a localização dos arquivos de log no MySQL?

1

Eu quero poder acessar arquivos de log do FTP.

dir home do FTP: / home / site /

Eu fiz isso em /etc/my.cnf:

long_query_time=2
log-slow-queries=/home/site/public_html/mysql-logs/mysql-log-slow-queries.log
log-queries-not-using-indexes
log_error=/home/site/public_html/mysql-logs/mysql-error.log

Permissões da pasta de logs do MySQL: 0760 Permissões de arquivos de log: 0660

mas sem sorte, o MySQL não atualizará novos arquivos.

o que estou fazendo de errado?

CENTOS 6.9 MYSQL 5.1

    
por Sam 13.06.2017 / 09:08

3 respostas

1

Qual usuário está executando o mysqld?

É provável que o usuário que executa o mysqld, geralmente mysql, não tenha acesso de gravação em / home / site / public_html / mysql-logs /

Portanto, não é possível gravar arquivos de log.

Tente criar um grupo para ambos / home / site / public_html owner e mysql e, em seguida, chmod 0775 diretórios e diretórios de chown

    
por 13.06.2017 / 10:43
1

Meu primeiro pensamento seria que o usuário mysql não tem acesso ao diretório home de "site". Se não puder acessá-lo, também não poderá gravar no arquivo. Mesmo que tenha acesso para gravar no diretório mysql-logs.

Por que você não escreve os logs em / var / log / mysql / e os links simbólicos?

cd /home/site/public_html/mysql-logs/
ln -s /var/log/mysql/mysql-log-slow-queries.log
ln -s /var/log/mysql/mysql-error.log
    
por 13.06.2017 / 09:33
0

Isto pode estar relacionado ao bloqueio do mysql pelo SELINUX por escrito no caminho /home/site/public_html/mysql-logs/ .

Tente emitir o seguinte comando: setenforce 0 e reiniciar o mysql. Se agora os logs podem ser gravados, você encontrou o culpado. No entanto, você deve não deixar o SELINUX desabilitado, pois é um recurso de segurança muito valioso.

Em vez disso, use semanage fcontext para rotular /home/site/public_html/mysql-logs/ com o tipo correto, reative SELINUX executando setenforce 1 e reinicie o mysql.

    
por 13.06.2017 / 11:32