Problema de compartilhamento de dados Mysql na máquina de inicialização dupla

0
Primeiro de tudo, deixe-me dizer que esta é uma pergunta após a minha tentativa de fazer a solução neste post. -files-with-windows-on-dual-boot "> Posso compartilhar arquivos de banco de dados MySql com o Windows em dual boot? . Eu fui atingido por um erro e preciso de ajuda para resolvê-lo. Eu postei isso como uma "resposta" lá e fui aconselhado a abrir uma nova pergunta:

Então, aqui está o meu problema. Estou executando o Kubuntu 12.04 e o Windows 7 Ultimate. Minha pasta mysqldata agora está em um segundo hardrive, que é minha unidade de dados compartilhada entre as duas instalações. Essa é a linha para ela no meu fstab:

UUID=9EEAD9BAEAD98F41                      /media/Data  ntfs-3g  defaults,windows_names,locale=en_US.utf8  0 0

Eu tentei adicionar uid=mysql,gid=mysql à linha de opções. Um ls -la /media/Data mostra que, de fato, foi montado para os usuários corretos e também as permissões eram 777. O mesmo vale para a pasta /media/Data/Sistemas/mysqldata . Os primeiros erros que estou recebendo, em todos os casos são:

/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
130114  2:09:08 [Warning] Can't create test file /media/Data/Sistemas/mysqldata/verditius.lower-test
130114  2:09:08 [Warning] Can't create test file /media/Data/Sistemas/mysqldata/verditius.lower-test
/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
130114  2:09:08 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
130114  2:09:08  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.

Então, o que posso fazer para resolver isso?

Aqui está o bit no mysql.cnf que eu acho importante:

user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /media/Data/Sistemas/mysqldata
tmpdir          = /tmp
lc-messages-dir     = /usr/share/mysql
    
por Yohan Leafheart 14.01.2013 / 06:35

1 resposta

1

Ok, consegui que funcionasse depois de verificar outro tópico nos fóruns do Ubuntu. O problema é que você precisa permitir que o serviço mysql rw acesse o novo local no apparmor. Este é o tópico link

Mas você não precisa fazer tudo isso, basta adicionar o novo local ao /etc/apparmor.d/usr.sbin.mysqld e alterar sua entrada datadir em my.cnf

/path/to/new/datadir/ r,
/path/to/new/datadir/** rwk,
    
por Yohan Leafheart 15.01.2013 / 02:00