Como alterar o proprietário do ponto de montagem

37

Nós 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. Nós definimos o proprietário do diretório /var/lib/mysql 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 no fstab:

/dev/mapper/db-db   /var/lib/mysql    ext3    relatime        0       2

Como alterar o proprietário do ponto de montagem para outro usuário que não seja o root?

    
por Arie K 11.07.2009 / 14:07

6 respostas

36

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 then chown mysql.mysql /var/lib/mysql . Isto irá mudar as permissões da raiz do sistema de arquivos do MySQL.

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 por root.

    
por 11.07.2009 / 14:46
28

também

mount device mount-point -o uid=foo -o gid=foo

se o grupo precisar ser alterado também

    
por 29.09.2010 / 18:05
8

Adicione uid e gid como estes:

/dev/mapper/db-db  /var/lib/mysql ext3  relatime,rw,exec,uid=frank,gid=www-group        0       2

Você pode usar nomes de usuários / grupos reais (cuidado com espaços) ou valores numéricos, gid. Eu adicionei o comando rw e exec, o que pode 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"

    
por 24.04.2012 / 14:18
3

Certifique-se de alterar as permissões quando o sistema de arquivos não estiver montado - fazê-lo enquanto montado nunca funcionou para mim.

Além disso, você pode adicionar a opção 'user' ao seu fstab, por exemplo:

/dev/mapper/db-db   /var/lib/mysql    ext3    relatime,user        0       2

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 impedirá que você corrija seu problema!

    
por 11.07.2009 / 14:25
1

Eu costumo fazer isso no diretório desmontado vazio

chmod 777 <directory>

Então faça

chown -R mysql.mysql <directory>

Em seguida, em / etc / fstab do

<device>    <directory>  ext3   user,defaults 0 2

Em seguida, use

mount -a

para montar todos os sistemas de arquivos listados em / etc / fstab.

Isso funciona para mim. Experimente>

    
por 11.07.2009 / 15:14
1

Se você quiser fazer isso apenas como parte da linha de comando mount , use a opção -o e faça:

mount device mount-point -o uid=foo

Isso mudará o proprietário do ponto de montagem para o usuário foo em vez de root.

    
por 11.07.2009 / 19:10