Come posso dare a mysqld l'accesso in scrittura a una directory?

3

In questo momento sto eseguendo OSX e sto provando a eseguire un processo mysqld e vedo il seguente errore:

 $ /usr/local/mysql/bin/mysqld --user=root
111026 11:05:08 [Warning] Can't create test file /usr/local/mysql-5.5.15-osx10.6-x86_64/data/XXX.lower-test
111026 11:05:08 [Warning] Can't create test file /usr/local/mysql-5.5.15-osx10.6-x86_64/data/XXX.lower-test
111026 11:05:08 [Warning] One can only use the --user switch if running as root

111026 11:05:08 [Note] Plugin 'FEDERATED' is disabled.
/usr/local/mysql/bin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
111026 11:05:08 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
111026 11:05:08 InnoDB: The InnoDB memory heap is disabled
111026 11:05:08 InnoDB: Mutexes and rw_locks use GCC atomic builtins
111026 11:05:08 InnoDB: Compressed tables use zlib 1.2.3
111026 11:05:08 InnoDB: Initializing buffer pool, size = 128.0M
111026 11:05:08 InnoDB: Completed initialization of buffer pool
111026 11:05: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.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.

Capisco il problema dato che non sto usando sudo, il mio account utente corrente non ha accesso in scrittura a

/usr/local/mysql-5.5.15-osx10.6-x86_64/data /

Sto provando a realizzare due cose diverse

  1. Lascia che il processo mysqld scriva l'accesso a quella directory senza usare chmod 700 o altro. Sto cercando di usare chown e non funziona

  2. Crea uno script in modo che il processo mysqld inizi all'avvio

Qualcuno può aiutarmi?

    
posta 26.10.2011 - 17:10
fonte

1 risposta

3

A seconda dell'uso di uid mysqld, chmod 700 sulla directory dei dati potrebbe non essere d'aiuto. È possibile effettuare le seguenti operazioni:

  • chmod 777 /usr/local/mysql-5.5.15-osx10.6-x86_64/data/
  • Startup mysqld di nuovo
  • ls -l /usr/local/mysql-5.5.15-osx10.6-x86_64/data/ per identificare il proprietario dei file creati
  • chown OWNER /usr/local/mysql-5.5.15-osx10.6-x86_64/data
  • chmod 700 /usr/local/mysql-5.5.15-osx10.6-x86_64/data/
risposta data 30.10.2011 - 09:27
fonte

Leggi altre domande sui tag