¿Qué versión particular de Ubuntu es esta y es Ubuntu Server Edition?
Las ediciones recientes de Ubuntu Server (como 10.04) se envían con AppArmor y el perfil de MySQL puede estar en modo de aplicación de forma predeterminada. Puede verificar esto ejecutando sudo aa-status
así:
# 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.
Si mysqld está incluido en el modo de aplicación, entonces es probablemente el que niega la escritura. Las entradas también se escribirían en /var/log/messages
cuando AppArmor bloquea las escrituras/accesos. Lo que puede hacer es editar /etc/apparmor.d/usr.sbin.mysqld
y agrega /data/
y /data/*
cerca de la parte inferior así:
...
/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,**
}
Y luego haz que AppArmor vuelva a cargar los perfiles.
# sudo /etc/init.d/apparmor reload
ADVERTENCIA:el cambio anterior permitirá que MySQL lea y escriba en el directorio /data. Esperamos que ya haya considerado las implicaciones de seguridad de esto.