Scopri cosa significa Errcode: 2
È possibile utilizzare l'utilità perror
per trovare quale errore 2 significa:
$ perror 2
OS error code 2: No such file or directory
Maggiori informazioni al link è @Jocelyn menzionato nel loro commento: http://dev.mysql.com/doc/refman/5.5/en/cannot-create.html
Scopri quale percorso ./
punti a
Ora sappiamo che un file non esiste (o forse non può essere scritto.) Il messaggio di errore ci dà un percorso relativo ./
che lo rende difficile ... Non sarebbe utile se emette un percorso completo? Si.
Quindi quando MySQL importa un file SQL crea alcuni file temporanei sul filesystem. Il percorso viene in genere specificato dall'opzione di configurazione "tmpfile" nel file MySQL my.cnf
. È possibile trovare rapidamente il valore eseguendo una query SQL:
$ mysql -h127.0.0.1 -uroot -p
# I assume you're now logged into MySQL
mysql> SHOW VARIABLES LIKE '%tmpdir%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| slave_load_tmpdir | /tmp |
| tmpdir | /tmp |
+-------------------+-------+
2 rows in set (0.00 sec)
Verificare la directory è scrivibile da mysql
utente
Secondo tmpdir questo significa MySQL stava cercando di creare /tmp/dbnamehere/db.opt
. Assicurati che questa directory esista e sia di proprietà di mysql:mysql
. Potrebbe essere necessario utilizzare sudo
per elevare i privilegi abbastanza alti da creare alcune directory.
$ chown -R mysql:mysql /tmp/dbnamehere
Ancora non funziona? Prova altri percorsi di default tmpdir
ho colpito problemi sul mio sistema (Ubuntu 12.04 + Vagrant 1.7.2 + Chef 11.something + opscode mysql cookbook 6.0.6) dove il valore in tmpdir
non era presa in considerazione o non è stato tirato da dove Mi aspettavo
MySQL è stato effettivamente cercando di creare il file temporaneo in una delle seguenti posizioni:
- /var/lib/mysql/dbnamehere
- /var/lib/mysql-default/dbnamehere
ho dovuto creare queste directory e cambiare la proprietà a mysql: mysql.
fonte
2015-01-09 17:11:32
Per brevità della tua risposta, ci sono diverse opzioni per voi, invece di stringa sostituire nell'editor: http://dba.stackexchange.com/a/8892 – Pogrindis