Какая конкретная версия Ubuntu это и является ли это Ubuntu Server Edition?
Последние версии Ubuntu Server Edition (например, 10.04) поставляются с AppArmor, и профиль MySQL может быть в принудительном режиме по умолчанию. Вы можете проверить это, выполнив sudo aa-status
примерно так:
# sudo aa-status
5 profiles are loaded.
5 profiles are in enforce mode.
/usr/lib/connman/scripts/dhclient-script
/sbin/dhclient3
/usr/sbin/tcpdump
/usr/lib/NetworkManager/nm-dhcp-client.action
/usr/sbin/mysqld
0 profiles are in complain mode.
1 processes have profiles defined.
1 processes are in enforce mode :
/usr/sbin/mysqld (1089)
0 processes are in complain mode.
Если mysqld включен в принудительном режиме, то он, вероятно, запрещает запись. Записи также будут записываться в /var/log/messages
, когда AppArmor блокирует записи / доступы. То, что вы можете сделать, это отредактировать /etc/apparmor.d/usr.sbin.mysqld
и добавить /data/
и /data/*
в нижней части, например:
...
/usr/sbin/mysqld {
...
/var/log/mysql/ r,
/var/log/mysql/* rw,
/var/run/mysqld/mysqld.pid w,
/var/run/mysqld/mysqld.sock w,
**/data/ r,
/data/* rw,**
}
А затем заставьте AppArmor перезагрузить профили.
# sudo /etc/init.d/apparmor reload
ВНИМАНИЕ: указанное выше изменение позволит MySQL читать и записывать в каталог / data. Мы надеемся, что вы уже рассмотрели последствия этого для безопасности.