Depois de configurado, devemos colocar os HDs como dispositivos permanentes no computador, assims sempre que o MySQL procurar pelos arquivoss ele vai encontrars já que o HD não é móvel, porém, instalado dentro do computador.
Caso você não tem a coragem de abrir a capa do seu HD externo e ligar ele como interno, ou se você está no meu caso, você tem um Laptop e não há espaço físico para HDs internos, gracas a Deus você usa o
GNU/Linux, então, você pode fazer o computador reconhecer o seu HD e montar ele automaticamente na pasta correta.
Como fazer isso?
Primeiro, vamos descobrir o número único de identificação do seu HD. Ao conectar o USB do HD no computador, será designado um dispositivo para ele.
Para descobrir qual é, digite no terminal, logo depois de conectar o USB:
# dmesg | grep sd | grep GB
Você verá algo identificando seu HD como
sdX, onde
X é uma letra qualquer selecionada pelo sistema. Para o nosso exemplo,
sdb.
* CUIDADO: você pode cometer algum erro nessa parte e identificar o HD errado, portanto, preste atenção qual é o dispositivo correto para os seus HDs. Veja o tamanho de cada um listado, para saber com certeza qual é qual.
No terminal, digite:
# blkid /dev/sdb1
Esse comado deve retornar algo como:
/dev/sdb1: UUID="7fa9c421-0054-4555-b0ca-b470a97a3d84" TYPE="ext4"
Algumas distros só autorizam os administradores do sistema usarem
blkid, caso sua distro seja uma delas, digite o
sudo antes do comando.
A parte importante aqui, é o UUID do seu HD, vamos usar ele no
/etc/fstab. Na última linha do arquivo
/etc/fstab, digite:
UUID="7fa9c421-0054-4555-b0ca-b470a97a3d84" /media/HD ext4 defaults,nobootwait,noatime 0 0
O formato é:
[UUID] [pasta para montar] [sistema de aquivo] [opções] [backup] [checar o sistema durante inicialização]
Considere que o meu HD já está formatado em
ext4, assim sendo, eu coloquei o sistema de arquivos como
ext4. Caso você não queira formatar o seu HD, por padrão, ele deve ter o sistema de arquivos como NTFS. Assim, a entrada no
fstab deveria ser assim:
UUID="7fa9c421-0054-4555-b0ca-b470a97a3d84" /media/HD ntfs defaults,uid=1000,gid=1000,dmask=022,nobootwait 0 0
Permissões para NTFS e VFAT, devem ser configuradas por opções de
dmask,
fmask and
umask.
Onde:
- dmask controla as permissões dos diretórios.
- fmask controla as permissões dos arquivos.
- umask controla os dois.
Um truque para saber o valor numérico das permissões para NTFS e VFAT: retire do valor 777, o valor da permissão que você quer no GNU/Linux.
Por exemplo,
rwx para o dono dos arquivos e
rw para os outros, em GNU/Linux seria 755, então, para o Windows, o equivalente seria:
777 - 755 = 022
Para fazer você ser o dono do dispositivo, use o UID e GID para usuários e grupos. Você pode achar o seu UID com o comando
echo $UID. Para encontrar o GID, use
cat /etc/group. Esses valores são geralmente 1000, para o seu usuário padrão.
Um ajuste muito comum para NTFS, é:
uid=1000,
gid=1000,
dmask=027,
fmask=137. Esse ajuste te faz o dono do drive, e dão as permissões
drwxr-x---.
Agora você entende porque eu prefiro deixar o meu HD como ext4? Claro que, deixando ele como
ext4, o meu HD só será reconhecido por sistemas como GNU/Linux. Se eu colocar ele em um Windows, o mesmo vai pedir de cara para você formatar o drive (nunca faça isso, ou você perde tudo em seu HD). Já no Mac, ele nem reconhece, salvo se o seu Mac tem drivers para
ext* instalados.
Para evitar problemas como esse, quando eu coloco algum arquivo vindo de origem Windows ou Mac, eu acesso o meu HD pelo SSH. Já que SSH e SFTP, são tecnologias presentes em todos os três sistemas.
Para saber mais sobre o SSH, veja o artigo que eu escrevi sobre ele:
Você pode, então, usar programas como o FileZilla para transferir os seus arquivos; outra opção muito viável, se você tem outros computadores com o Windows ou Mac, é fazer uma pasta compartilhada usando o Samba.
Não vou entrar em detalhes nesse assunto, porque aí já seria um outro artigo dentro desse artigo. Mas a ideia, é a seguinte:
Monte os seus HDs em pastas criadas pelo root em
/media/NN onde
NN é o nome qualquer das pastas:
sudo mkdir -p /media/HD1
Mude a permissão para
rwx (ler, escrever e executar) nessas pastas para todos os usuários e grupos:
sudo chmod 777 /media/HD1
Aponte o SSH, FTP ou Samba, para essas pastas:
SSH e FTP: Edite o arquivo
/etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
Certifique que esta linha esteja presente:
Subsystem sftp /usr/lib/openssh/sftp-server
E adicione estas linhas para o seu usuário:
Match User mauricio
ChrootDirectory /media/HD1
AllowTCPForwarding no
X11Forwarding no
ForceCommand /usr/lib/openssh/sftp-server
Se você tem vários usuários, não precisa fazer um por um, apenas adicione o grupo ao qual eles todos pertencem.
Match Group users
ChrootDirectory /media/HD1
AllowTCPForwarding no
X11Forwarding no
ForceCommand /usr/lib/openssh/sftp-server
Samba: edite o
/etc/samba/smb.conf:
sudo nano /etc/samba/smb.conf
No final do arquivo, onde você deve criar o compartilhamento, escreva:
[HD1]
comment = Primeiro HD
path = /media/HD1
force user = nobody
force group = nogroup
read only = No
create mask = 0664
directory mask = 0775
guest ok = Yes
Essas opções são para tornar o seu HD público na rede, assim, todos têm acesso a ele.
Caso você queira modificar alguns detalhes, como
guest ok = no,
create mask, etc, fique à vontade. Como eu disse, não vou me aprofundar nestes detalhes, uma procura aqui no VOL vai dar as respostas que você quer. Ou mande uma mensagem neste artigo e eu vou tentar te ajudar no que estiver a meu alcance.
Agora, o passo final. :)