Не может изменить mysql папку CentOS данных 6

ACCEPT     all  --  server.hosting.invalid/24  anywhere           

which clearly states that there is an error in adding that rule or something. 

Это - не обязательно ошибка. Могло просто случиться так, что Вы имеете 10.8.0.0, или что-то подобное определило в Вашем /etc/networks файл. Это могло просто быть разрешение DNS. Попытайтесь передать -n к iptables для пропуска разрешения DNS.

В любом случае, учитывая текущее состояние Вашего брандмауэра Вам действительно не нужно то правило. Все уже принимается. (policy ACCEPT)

0
задан 26 September 2012 в 12:51
2 ответа

Вам необходимо использовать semanage fcontext , чтобы установить контекст файла по умолчанию для нестандартного расположения баз данных MySQL.

semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?"

После этого используйте restorecon , чтобы исправить любые файлы / каталоги с неправильной маркировкой:

restorecon -r -v /data/mysql

Теперь у вас больше не должно возникнуть проблем с SELinux.

1
ответ дан 5 December 2019 в 18:55

У меня та же проблема, и я решил:

Проблема заключается в разрешении, my.cnf выполняет mysqld с пользователем mysql [mysqld]
datadir = / data / mysql
socket = / data / mysql / mysql.sock
user = mysql
symbolic-link = 0

Затем я перемещаю использованные файлы mysql и ссылки в / var / lib / mysql /, затем я изменил:

/etc/my.cnf

[mysqld]
datadir = / var / lib / mysql
сокет = / var / lib / mysql / mysql.sock
пользователь = mysql
# По умолчанию используется старый формат пароля для совместимости с mysql 3.x
# клиентов (использующих пакет совместимости mysqlclient10).
old_passwords = 1
# Отключение символических ссылок рекомендуется для предотвращения различных угроз безопасности;
# для этого раскомментируйте эту строку:
# symbolic-links = 0
[mysqld_safe]
ошибка журнала = / var / lib / mysql / mysqld.log
pid-file = / var / lib / mysql / mysqld.pid

/etc/init.d/mysqld

get_mysql_option mysqld datadir "/ var / lib / mysql"
datadir = "$ result"
get_mysql_option сокет mysqld "$ datadir / mysql.sock"
socketfile = "$ result"
get_mysql_option mysqld_safe log-error "/var/lib/mysql/mysqld.log"
errlogfile = "$ result"
get_mysql_option mysqld_safe pid-file "/var/lib/mysql/mysqld.pid"
mypidfile = "$ result"
.
.
.
фи [$ ret -eq 0] && touch /var/lib/mysql/mysqld.lock (эта и еще одна ссылка на файл блокировки.)
вернуть $ ret

Я меняю имя файла блокировки mysql на mysqld.lock в /etc/init.d/mysqld но это не обязательно.

наконец я меняю владельца / var / lib / mysql chown mysql: mysql / var / lib / mysql -R

и установите разрешения:

chmod 755 / var / lib / mysql -R

now

/etc/init.d/mysqld start

-4
ответ дан 5 December 2019 в 18:55

Теги

Похожие вопросы