Назад | Перейти на главную страницу

Как изменить расположение файлов журнала в MySQL?

Я хочу иметь доступ к файлам журналов с FTP.

Домашний каталог FTP: / home / site /

Я сделал это в /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

Права доступа к папке с журналами MySQL: 0760 Разрешения на файлы журналов: 0660

но если не повезет, MySQL не будет обновлять новые файлы.

Что я делаю не так?

CENTOS 6.9 MYSQL 5.1

Я сначала подумал, что у пользователя mysql нет доступа к домашнему каталогу «site». Если он не может получить к нему доступ, он также не может записать в файл. Даже если у него есть доступ для записи в каталог mysql-logs.

Почему бы вам просто не записать журналы в / var / log / mysql / и вместо этого создать символическую ссылку?

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

Какой пользователь запускает mysqld?

Вероятно, что пользователь, который запускает mysqld, обычно mysql, не имеет права записи в / home / site / public_html / mysql-logs /

Следовательно, он не может записывать файлы журнала.

Попробуйте создать группу как для владельца / home / site / public_html, так и для mysql, затем каталоги chmod 0775 и каталоги chown

Это может быть связано с тем, что SELINUX блокирует mysql от записи в /home/site/public_html/mysql-logs/ дорожка.

Попробуйте ввести следующую команду: setenforce 0 и перезапустить mysql. Если теперь можно писать журналы, значит, вы нашли виновника. Однако вам следует не оставьте SELINUX отключенным, так как это очень ценный актив безопасности.

Скорее используйте semanage fcontext маркировать /home/site/public_html/mysql-logs/ с правильным типом, снова включите SELINUX, запустив setenforce 1 и перезапустите mysql.