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