Устранение предупреждения MySQL об отстутствии прав доступа к файлу check sector size
Если в конфигурации MySQL опции innodb_flush_method
присвоено значение O_DIRECT
, то при перезапуске MySQL можно увидеть в журналах сообщение об ошибке:
[ERROR] InnoDB: Failed to create check sector file, errno:13 Please confirm O_DIRECT is supported and remove the file /var/lib/check_sector_size if it exists.
К счастью, это сообщение об ошибке фактически является предупреждением, т.к. не приводит к остановке MySQL. Однако, если в файле конфигурации MySQL имеются другие ошибки, то это сообщение может сбивать с толку, т.к. может быть воспринято как причина остановки MySQL.
Для исправления ошибки нужно поменять значение другой опции - innodb_data_home_dir
. Значение этой опции должно оканчиваться символом-разделителем каталогов, вот так:
innodb_data_home_dir = /var/lib/mysql/
При отсутствии косой черты MySQL откусывает из пути последнюю часть и пытается создать/удалить файл /var/lib/check_sector_size
в каталоге, находящемся выше. Как правило у MySQL нет доступа к этому каталогу, из-за чего при запуске MySQL выводит указанное сообщение об ошибке. Если просто добавить в конец пути косую черту, то указанное сообщение об ошибке при перезапусках MySQL больше не выводится.