これはUbuntuのどの特定のバージョンであり、これはUbuntu Server Editionですか?
最近のUbuntuServerEdition(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ディレクトリの読み取りと書き込みが可能になります。これがセキュリティに与える影響についてすでに検討されていることを願っています。