Movemos o diretório de dados mysql para outro disco, então agora /var/lib/mysql
é apenas um ponto de montagem para outra partição. Definimos o proprietário do /var/lib/mysql
diretório como mysql.mysql
.
Mas toda vez que montamos a partição, a propriedade muda para root.root
. Por causa disso, não foi possível criar um banco de dados MySQL adicional.
Nossa entrada fstab:
/dev/mapper/db-db /var/lib/mysql ext3 relatime 0 2
Como alterar o proprietário do ponto de montagem para um usuário diferente de root?
Responder1
Você precisa alterar as permissões do sistema de arquivos montado, não do ponto de montagem quando o sistema de arquivos não estiver montado. Então .mount /var/lib/mysql
chown mysql.mysql /var/lib/mysql
Isso alterará as permissões da raiz do sistema de arquivos MySQL DB.
A ideia básica é que o sistema de arquivos que contém o banco de dados precisa ser alterado, não o ponto de montagem, a menos que seu caminho tenha alguns problemas, por exemplo, lib
só pode ser lido pelo root.
Responder2
também
mount device mount-point -o uid=foo -o gid=foo
se o grupo precisar ser alterado também
Responder3
Isenção de responsabilidade importante (aprendi isso nos comentários):
Os sinalizadores uid e gid funcionam apenas em sistemas de arquivos que não suportam esquema de permissões do Linux - ou seja, FAT e NTFS, entre outros
Portanto, esta NÃO é uma resposta correta para OP, mas é útil para outros
Adicione uid e gid assim:
/dev/mapper/db-db /var/lib/mysql ext3 relatime,rw,exec,uid=frank,gid=www-group 0 2
Você pode usar nomes reais de usuários/grupos (cuidado com espaços) ou valores numéricos uid e gid. Eu adicionei rw e exec que podem ajudá-lo ainda mais a evitar problemas de acesso (presumindo que você esteja em um sistema de desenvolvimento, não em um servidor de produção).
PS: Para ainda mais acesso (se desejar), adicione ",dir_mode=0777,file_mode=0777"
Responder4
Eu costumo fazer isso em um diretório vazio e desmontado
chmod 777 <directory>
Então faça
chown -R mysql.mysql <directory>
Então em /etc/fstab faça
<device> <directory> ext3 user,defaults 0 2
Então use
mount -a
para montar todos os sistemas de arquivos listados em /etc/fstab.
Isso funciona para mim. De uma chance