Узнайте, что означает Errcode: 2
Вы можете использовать утилиту perror
, чтобы найти то, что ошибка 2 означает:
$ perror 2
OS error code 2: No such file or directory
Больше информации находится в ссылке, указанной в @Jocelyn свой комментарий: http://dev.mysql.com/doc/refman/5.5/en/cannot-create.html
Узнайте, какой путь ./
указывает на
Теперь мы знаем, что файл не существует (или, возможно, он не может быть записан в.) Сообщение об ошибке дает нам относительный путь ./
, который делает его сложным ... Не было бы полезно, если бы он выводил полностью квалифицированный путь? Да.
Поэтому, когда MySQL импортирует файл SQL, он создает некоторые временные файлы в файловой системе. Путь обычно задается параметром конфигурации «tmpfile» в файле MySQL my.cnf
. Вы можете быстро найти значение, выполнив запрос 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)
Убедитесь, что каталог доступен для записи mysql
пользователя
Согласно TMPDIR это означает, что MySQL пытается создать /tmp/dbnamehere/db.opt
. Убедитесь, что этот каталог существует и что он принадлежит mysql:mysql
. Возможно, вам нужно будет использовать sudo
, чтобы повысить привилегии, достаточные для создания некоторых каталогов.
$ chown -R mysql:mysql /tmp/dbnamehere
Все еще не работает? Попробуйте другие пути TmpDir по умолчанию
Я ударил проблемы на моей системе (Ubuntu 12,04 + Vagrant 1.7.2 + Chef 11.something + opscode mysql cookbook 6.0.6), где значение в tmpdir
не рассматривается или не тянули, откуда Я ожидал.
MySQL был на самом деле пытается создать временный файл в одном из следующих мест:
- /вар/Lib/MySQL/dbnamehere
- /вар/Lib/MySQL по умолчанию/dbnamehere
Мне нужно было создать эти каталоги и сменить владельца на mysql: mysql.
Для краткости вашего ответа есть несколько вариантов вместо замены строки в редакторе: http://dba.stackexchange.com/a/8892 – Pogrindis