Armazenando o banco de dados MySQL no USB .. Problema de permissão (errno: 13)?

0

Então, esta página é o que estou usando como manual:

Diferentes locais para bancos de dados MySQL?

Estou tentando armazenar meu banco de dados em USB (seja uma boa ideia ou não, por favor, diga-me como fazer isso se houver um jeito). O mysql funciona bem com um link que está ligado a outra pasta no computador. É claro que a propriedade da pasta mudou com chown -R mysql:mysql /file .

O primeiro problema que encontrei ao fazer isso com o USB é que, eu não pude usar chown quando o diretório atual está no usb. O sistema de arquivos do meu usb é vfat. O que eu aprendi com a minha pesquisa é que o sistema de arquivos "vfat" ou "fat32" não tem suporte para uma segurança. E que os arquivos em usb poderiam ter atributo "imutável". Não foi possível usar lsattr nem chattr para verificar se são imutáveis ou eliminar a tag imutável.

Eu montei manualmente o USB para que o seu "uid" e "gid" sejam "mysql". Eu corro id -u mysql e id -g mysql , e esses acabaram sendo 116 e 125. Então eu usei sudo mount -t vfat /dev/sdb1 /media/external -o uid=116,gid=125,utf8,dmask=007,fmask=117 para montar meu usb. Quando eu lsblk , ele é montado. Fiquei um pouco desconfortável com o fato de que tudo no meu USB será mysql: mysql, mas eu não era capaz de encontrar como definir proprietário diferente para pastas no mesmo USB.

Usou link como um manual.

Então, depois que eu fiz isso, quando eu ls -l em USB, ele dá mysql: mysql.

Antes de fazer isso, ao executar show databases , acho que o link flexível que eu fiz em /var/lib/mysql/ não apareceria, mas aparece agora.

Agora, o problema é que quando executo show tables ou create tables depois de escolher o banco de dados (link de software) ele fornece:

ERROR 1018 (HY000): Can't read dir of './Muniverse/' (errno: 13)

Eu não sei o que fazer daqui.

Quando eu procuro por "mysql errno: 13", todas as soluções sugerem chown -R mysql:mysql (ou mysql.mysql), o que eu acho que já está feito desde quando eu ls -l em USB, APARECE que o dono e o grupo IS "mysql".

Talvez só apareça como é? Ou isso não está funcionando porque os arquivos são "imutáveis"?

No entanto, referindo-se a man manual , existe a opção "sys_immutable" que não é definida por padrão.

O que estou fazendo ou o que fiz de errado?

NOTA: Basicamente, posso fazer com que o link para pastas no computador funcione no mysql, mas não no USB.

===========================

FYI, para aqueles que estão no noob como eu estou no Linux, eu consegui formatar USB para ext4 no LINUX. Meu computador com Windows 10 não tem opção para "ext4". E a prova que eu acho que é útil é que quando eu faço lsattr , ele agora imprime atributos e outras coisas.

link: formatar a memória Flash USB para o ubuntu ext4

    
por user3290525 13.01.2016 / 09:28

1 resposta

0

Use EXT no USB. Você não estará usando o banco de dados MySQL fora do Linux, portanto use um sistema de arquivos nativo. Isso corrigirá todos os problemas que você tem com permissões. O errno 13 é um erro de permissão e provavelmente relacionado ao seu sistema de arquivos.

"ln -s" também funcionará ao usar o EXT. É um comando do Linux, portanto, não funciona com os sistemas de arquivos da Microsoft.

Usar um USB para um banco de dados é uma péssima ideia. Usar o nivelamento será um problema sério. Você seria muito melhor colocar o banco de dados em uma partição separada em seu sistema e copiando essa partição para um USB e restaurar os dados em outra máquina onde você pode usar o novo banco de dados.

    
por Rinzwind 13.01.2016 / 09:40