Como eu altero a propriedade / permissões de uma pasta compartilhada virtualbox montada no Debian?

2

Estou tentando montar uma pasta compartilhada e usá-la como o datadir mysql.

Tendo montado e configurado com sucesso minha configuração de datadir, o mysqld falha porque não possui as permissões apropriadas

Eu tenho montado em / var / lib / mysql e tentativas anteriores com / srv / sql ocorreram no mesmo problema:

drwxr-xr-x  1 root    root     272 Feb 27 12:22 mysql

Tentar executar chown -R mysql:mysql /var/lib/mysql não faz diferença, assim como criar uma subpasta e tentar usar isso.

Aqui estão as entradas do mysql no syslog:

Feb 27 12:22:23 tomjn-debian-dev-vm mysqld_safe: Starting mysqld daemon with databases from /var/lib/mysql
Feb 27 12:22:23 tomjn-debian-dev-vm mysqld: 130227 12:22:23 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
Feb 27 12:22:23 tomjn-debian-dev-vm mysqld: 130227 12:22:23 [Note] Plugin 'FEDERATED' is disabled.
Feb 27 12:22:23 tomjn-debian-dev-vm mysqld: #007/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
Feb 27 12:22:23 tomjn-debian-dev-vm mysqld: 130227 12:22:23 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
Feb 27 12:22:24 tomjn-debian-dev-vm mysqld: 130227 12:22:24  InnoDB: Initializing buffer pool, size = 8.0M
Feb 27 12:22:24 tomjn-debian-dev-vm mysqld: 130227 12:22:24  InnoDB: Completed initialization of buffer pool
Feb 27 12:22:24 tomjn-debian-dev-vm mysqld: 130227 12:22:24  InnoDB: Operating system error number 13 in a file operation.
Feb 27 12:22:24 tomjn-debian-dev-vm mysqld: InnoDB: The error means mysqld does not have the access rights to
Feb 27 12:22:24 tomjn-debian-dev-vm mysqld: InnoDB: the directory.
Feb 27 12:22:24 tomjn-debian-dev-vm mysqld: InnoDB: File name ./ibdata1
Feb 27 12:22:24 tomjn-debian-dev-vm mysqld: InnoDB: File operation call: 'open'.
Feb 27 12:22:24 tomjn-debian-dev-vm mysqld: InnoDB: Cannot continue operation.
Feb 27 12:22:24 tomjn-debian-dev-vm mysqld_safe: mysqld from pid file /var/run/mysqld/mysqld.pid ended
Feb 27 12:22:39 tomjn-debian-dev-vm /etc/init.d/mysql[5085]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
Feb 27 12:22:39 tomjn-debian-dev-vm /etc/init.d/mysql[5085]: #007/usr/bin/mysqladmin: connect to server at 'localhost' failed
Feb 27 12:22:39 tomjn-debian-dev-vm /etc/init.d/mysql[5085]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Feb 27 12:22:39 tomjn-debian-dev-vm /etc/init.d/mysql[5085]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
Feb 27 12:22:39 tomjn-debian-dev-vm /etc/init.d/mysql[5085]:

A VM em si tem o debian 6 com apache / php / mysql instalado com mudanças mínimas (eu mudei o my.cnf para usar um datadir diferente e depois mudei de volta). A máquina host é o OS X Mountain Lion e o VirtualBox 4.2.6 com as inclusões / extensões instaladas e o addon USB

    
por Tom J Nowell 27.02.2013 / 13:40

1 resposta

1

por favor, tente montar a pasta compartilhada manualmente usando o id do usuário mysql:

Aqui está um exemplo:

$ id mysql
uid=105(mysql) gid=112(mysql) groups=112(mysql)

então você faria:

$ sudo mount -t vboxsf share_name -o rw,dmode=777,gid=112,uid=105 /var/lib/mysql
    
por 27.02.2013 / 14:26