Nós movemos o diretório de dados do 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 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 usuário diferente do root?
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 mudará as permissões da raiz do sistema de arquivos MySQL DB.A idéia 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.também
se o grupo também precisa ser alterado
Isenção de responsabilidade importante (aprendi com os comentários):
Portanto, esta NÃO é uma resposta correta para OP, mas útil para outros
Adicione uid e gid assim:
Você pode usar nomes de usuários/grupos reais (cuidado com os espaços) ou uid numérico, valores gid. Eu adicionei rw e exec que podem ajudá-lo 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"
Certifique-se de alterar as permissões quando o sistema de arquivos não estiver montado - fazer isso enquanto montado nunca funcionou para mim.
Além disso, você pode adicionar a opção 'user' ao seu fstab, exemplo:
Isso também deve significar que o comando mount (se precisar ser chamado) não precisará de privilégios de root para montar esse volume. Não alterar seu fstab não o impedirá de corrigir seu problema!
Eu costumo fazer isso no diretório desmontado vazio
Então faça
Então em /etc/fstab faça
Então use
para montar todos os sistemas de arquivos listados em /etc/fstab.
Isso funciona para mim. De uma chance
Se você quiser fazer isso apenas como parte da
mount
linha de comando, você pode usar o-o
switch e fazer:Isso mudará o proprietário do ponto de montagem para usuário
foo
em vez de root.Recentemente eu tinha caído em um problema semelhante. E foi isso que eu fiz:
No /etc/fstab:
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx /mnt/minimal_dev_env ext4 errors=remount-ro 0 2
Na minha extensão da área de transferência do Ubuntu:
Adicionado este seguinte comando COMBINADO :
sudo mount -a && sudo chown -R mysql:mysql /mnt/minimal_dev_env/mysql && sudo systemctl restart mysql && ls -la /mnt/minimal_dev_env/mysql
para montagem. E,
sudo systemctl stop mysql && sudo umount /mnt/minimal_dev_env/ && ls -la /mnt/minimal_dev_env/
para desmontagem.