Hemos movido el directorio de datos de MySQL a otro disco, por lo que ahora /var/lib/mysql
es solo un punto de montaje para otra partición. Configuramos el propietario del /var/lib/mysql
directorio en mysql.mysql
.
Pero cada vez que montamos la partición, la propiedad cambia a root.root
. Debido a esto, no pudimos crear una base de datos MySQL adicional.
Nuestra entrada fstab:
/dev/mapper/db-db /var/lib/mysql ext3 relatime 0 2
¿Cómo cambiar el propietario del punto de montaje a un usuario que no sea root?
Respuesta1
Debe cambiar los permisos del sistema de archivos montado, no del punto de montaje cuando el sistema de archivos no está montado. Por lo que mount /var/lib/mysql
entonces chown mysql.mysql /var/lib/mysql
. Esto cambiará los permisos de la raíz del sistema de archivos MySQL DB.
La idea básica es que es necesario cambiar el sistema de archivos que contiene la base de datos, no el punto de montaje, a menos que su ruta tenga algunos problemas, por ejemplo, lib
solo puede ser leída por root.
Respuesta2
también
mount device mount-point -o uid=foo -o gid=foo
si el grupo también necesita ser cambiado
Respuesta3
Descargo de responsabilidad importante (lo aprendí de los comentarios):
Los indicadores uid y gid solo funcionan en sistemas de archivos que no admiten el esquema de permisos de Linux, es decir, FAT y NTFS, entre otros.
Por lo tanto, esta NO es una respuesta correcta a OP, pero es útil para otros.
Agregue uid y gid como estos:
/dev/mapper/db-db /var/lib/mysql ext3 relatime,rw,exec,uid=frank,gid=www-group 0 2
Puede utilizar nombres de usuarios/grupos reales (tenga cuidado con los espacios) o valores de uid y gid numéricos. Agregué rw y exec que podrían ayudarlo aún más a evitar problemas de acceso (suponiendo que esté en un sistema de desarrollo, no en un servidor de producción).
PD: para obtener aún más acceso (si lo desea), agregue ",dir_mode=0777,file_mode=0777"
Respuesta4
Normalmente hago esto en un directorio vacío y desmontado.
chmod 777 <directory>
Entonces hazlo
chown -R mysql.mysql <directory>
Luego en /etc/fstab haz
<device> <directory> ext3 user,defaults 0 2
Entonces usa
mount -a
para montar todos los sistemas de archivos enumerados en /etc/fstab.
Esto funciona para mí. Darle una oportunidad