Я хотел бы на этот раз оставить SELinux работающим на сервере для предполагаемой повышенной безопасности.
Я обычно отключаю SELinux, чтобы все заработало.
Как мне сказать SELinux разрешить соединения MySQL?
Самое большее, что я нашел в документации, - это строка с mysql.com:
Если вы работаете под Linux и включен Linux с усиленной безопасностью (SELinux), убедитесь, что вы отключили защиту SELinux для процесса mysqld.
вау ... это действительно полезно.
Чтобы проверить SELinux
sestatus
Чтобы узнать, какие флаги установлены в процессах httpd
getsebool -a | grep httpd
Чтобы разрешить Apache подключаться к удаленной базе данных через SELinux
setsebool httpd_can_network_connect_db 1
Использование опции -P делает изменение постоянным. Без этой опции логическое значение будет сброшено на 0 при перезагрузке.
setsebool -P httpd_can_network_connect_db 1
Вы получаете сообщение об ошибке? Какой вид Linux вы используете? Контекст безопасности - хорошее место для начала, если вы получаете сообщение об ошибке. ls -Z даст контекст ... Но ваш вопрос очень расплывчатый.
Очевидно, настройка selinux не является тривиальной задачей. Вы можете пожелать начало здесь.
setenforce 0
переводит selinux в разрешающий режим, в котором разрешено все, кроме того, что разрешено. Перезагрузка или
setenforce 1
возвращается к блокировке всего, что не разрешено политикой.
Посмотрите эти Документация политики selinux для mySQL в Fedora.
вы также можете создать локальную политику:
«Вы можете создать модуль локальной политики, чтобы разрешить этот доступ. Разрешите этот доступ на данный момент, выполнив:»
grep httpd /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp
или включить глобально для текущего сеанса:
setsebool httpd_can_network_connect_db 1
или постоянный:
setsebool -P httpd_can_network_connect_db 1
Вы уверены, что это селинукс? Selinux должен разрешить обычные подключения извне. Так что это тоже может быть межсетевой экран. Если у вас есть локальные службы, пытающиеся подключиться к mysqld, это нечто иное: http://docs.fedoraproject.org/en-US/Fedora/13/html/Managing_Confined_Services/sect-Managing_Confined_Services-MySQL-Booleans.html
В ausearch
команда может помочь найти журнал ошибок.