Acessar base de dados MySQL do Windows no Linux

Boa noite pessoal, sou usuário Windows de muitos anos, estou migrando para Linux. Trabalho com desenvolvimento web e tenho instalado Apache e MySQL no Windows onde hospedo alguns sites em desenvolvimento.

Como estou migrando para Linux, gostaria de acessar os sites em desenvolvimento e a base de dados (que estão no Windows) para não ficar tendo essas informações em duplicidade.

Os sites foi fácil! Instalei o apache no Linux e apontei o “htdocs” para minha pasta “wwwroot” na partição NTFS do Windows.

Atualmente minha instalação do MySQL (pasta “Data”) está na partição NTFS do Windows.
Imagino que essa seja a única forma pois o Windows não lê a partição EXT3 do Linux.
Já o Linux tem acesso à partição NTFS.

Alguém já fez isso, sabe se é possível?

Basicamente:

  1. Parar o mysqld
  2. Abrir o arquivo /etc/mysql/my.cnf e adicionar/substituir
[mysqld]
datadir=/sua/partição/mysql
  1. Dar permissão para o mysqld acessar essa pasta, indo no arquivo /etc/apparmor.d/usr.sbin.mysqld e adicionando:
/sua/partição/mysql/ r,
/sua/partição/mysql/** rwk,
  1. Recarregar permissão com sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld
  2. Reabrir o mysqld
1 curtida

Deu erro na hora de executar o item 4.
Erro referente à linha adicionada no item 3. Minha pasta é a seguinte:
“/media/rodrigo/Drive/ProgramData/MySQL/MySQL Server 5.7/Data”

Acho que esse espaço no nome estava gerando o erro. Daí fui no Windows e mudei o dir. do dados para:
“…/ProgramData/MySQL/Data” … assim os diretórios não tem espaço em branco.

Daí, o item 4, funcionou!
Porém, deu erro ao iniciar o serviço.

Erro:
Starting mysql (via systemctl): mysql.serviceJob for mysql.service failed because the control process exited with error code.
See “systemctl status mysql.service” and “journalctl -xe” for details.
failed!

Perdão, que eu copiei errado o item 3, esquecendo de uma palavra na segunda linha. Veja a mensagem editada.


Tem aí alguns comandos que ele sugere para verificar o erro:

(Log específico do MySQL)
e

(Log geral do sistema)

Item 2:
Na verdade meu arquivo de configuracao está em
/etc/mysql/mysql.conf.d/mysqld.cnf
acho que é a distro (linux mint)

Não vi o q alterou no item 3, me parece o mesmo.

Log 1:
MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
Active: failed (Result: exit-code) since Sun 2020-06-07 13:34:49 -03; 2min 12
Process: 6554 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/my
Process: 6545 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exit
Main PID: 4242 (code=exited, status=0/SUCCESS)

mysql.service: Service hold-off time ove
mysql.service: Scheduled restart job, re
Stopped MySQL Community Server.
mysql.service: Start request repeated to
mysql.service: Failed with result 'exit-
Failed to start MySQL Community Server.

Log 2:
MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
Active: failed (Result: exit-code) since Sun 2020-06-07 13:34:49 -03; 2min 12
Process: 6554 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/my
Process: 6545 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exit
Main PID: 4242 (code=exited, status=0/SUCCESS)

mysql.service: Service hold-off time ove
mysql.service: Scheduled restart job, re
Stopped MySQL Community Server.
mysql.service: Start request repeated to
mysql.service: Failed with result 'exit-
Failed to start MySQL Community Server.

Grande parte do texto saiu cortada. Nem dá pra ver o exit-code do programa.

Adicione /mysql/ na segunda linha aqui.
No caso, você escrever, por exemplo, /mnt/windows/ProgramData/MySQL/Data

Resultado:
– A unidade mysql.service falhou.

– O resultado é RESULT.
: mysql.service: Service hold-off time over, scheduling restart.
: mysql.service: Scheduled restart job, restart counter is at 5.
– Subject: Automatic restarting of a unit has been scheduled
– Defined-By: systemd
– Support: Enterprise open source support | Ubuntu

– Automatic restarting of the unit mysql.service has been scheduled, as the result for
– the configured Restart= setting for the unit.
jun 07 16:46:54 rodrigo-lnx systemd[1]: Stopped MySQL Community Server.
– Subject: A unidade mysql.service concluiu o desligamento
– Defined-By: systemd
– Support: Enterprise open source support | Ubuntu

– A unidade mysql.service concluiu o desligamento.
: mysql.service: Start request repeated too quickly.
mysql.service: Failed with result ‘exit-code’.
: Failed to start MySQL Community Server.
– Subject: A unidade mysql.service falhou
– Defined-By: systemd
– Support: Enterprise open source support | Ubuntu

– A unidade mysql.service falhou.

– O resultado é RESULT.
: g_menu_insert_item: assertion ‘G_IS_MENU_ITEM (item)’ failed