Я установил MySQL на свой персональный компьютер / компьютер для разработки, используя пакет .dmg, в соответствии с инструкциями здесь: http://dev.mysql.com/doc/refman/5.5/en/macosx-installation-pkg.html, включая установку элемента автозагрузки и панели настроек. И все же я не могу использовать MySQL вообще.
работает:
/Library/StartupItems/MySQLCOM/MySQLCOM start
или
/Library/StartupItems/MySQLCOM/MySQLCOM restart
«кажется» работает - в этом он выдает мне сообщение типа «Запуск сервера базы данных MySQL» - но после этого я все равно не могу зайти в mysql из командной строки или подключиться к нему в Приложение Rails 2.3.8 работает в скрипте / на сервере. Я получаю сообщение об ошибке в названии вопроса.
Кроме того, панель настроек MySQL тоже не работает. Если я нажимаю кнопку «Запустить MySQL Server», меня просят ввести пароль, но затем ничего не происходит - на панели продолжает отображаться, что сервер остановлен.
(Я полагаю, что ранее у меня была установлена версия MySQL для MacPorts, и также возможно, что когда-то в прошлом была одна, собранная из исходного кода - но я вполне уверен, что удалил их и удалил все файлы, связанные с ним, которые я смог найти.)
Я также пытаюсь mysqld start
в терминале. вот вывод:
110127 15:40:28 [Warning] Can't create test file /usr/local/mysql-5.5.8-osx10.6-x86_64/data/Lucky-Charm.lower-test
110127 15:40:28 [Warning] Can't create test file /usr/local/mysql-5.5.8-osx10.6-x86_64/data/Lucky-Charm.lower-test
110127 15:40:28 [Note] Plugin 'FEDERATED' is disabled.
mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
110127 15:40:28 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Compressed tables use zlib 1.2.3
110127 15:40:28 InnoDB: Initializing buffer pool, size = 128.0M
110127 15:40:28 InnoDB: Completed initialization of buffer pool
110127 15:40:28 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.
Попытался после сообщения о запуске mysql_upgrade, но это снова возвращает меня к моей первоначальной ошибке.
UPDATE:
ОК. Я придерживаюсь теории, что это проблема с разрешениями. Видя, что datadir принадлежит root, я выбрал -R для _mysql. В ответ Майк, вот что сейчас стоит:
$ ls -al /usr/local/mysql-5.5.8-osx10.6-x86_64
total 296
drwxr-xr-x 16 root wheel 544 Dec 3 12:53 .
drwxrwxr-x 12 root staff 408 Jan 27 14:38 ..
-rw-r--r-- 1 root wheel 17987 Dec 3 11:58 COPYING
-rw-r--r-- 1 root wheel 12388 Dec 3 11:58 INSTALL-BINARY
-rw-r--r-- 1 root wheel 113534 Dec 3 11:58 README
drwxr-xr-x 44 root wheel 1496 Dec 3 12:53 bin
drwxr-xr-x 9 _mysql wheel 306 Jan 27 16:46 data
drwxr-xr-x 4 root wheel 136 Dec 3 12:53 docs
drwxr-xr-x 47 root wheel 1598 Dec 3 12:53 include
drwxr-xr-x 12 root wheel 408 Jan 27 14:38 lib
drwxr-xr-x 4 root wheel 136 Dec 3 12:53 man
drwxr-xr-x 19 root wheel 646 Jan 27 14:38 mysql-test
drwxr-xr-x 3 root wheel 102 Dec 3 12:53 scripts
drwxr-xr-x 32 root wheel 1088 Dec 3 12:53 share
drwxr-xr-x 28 root wheel 952 Dec 3 12:53 sql-bench
drwxr-xr-x 16 root wheel 544 Dec 3 12:53 support-files
Я пытался сделать mysqld start
в Терминале, потому что это было единственное, что давало мне что-то, что казалось значимым выводом сообщения об ошибке (см. https://gist.github.com/799436), но мне сказали в #mysql, что это не предназначен для непосредственного запуска (и если я попытаюсь sudo mysqld start
, я получу сообщение, раздражающее меня за попытку запустить mysql от имени root).
Кажется, у меня что-то сейчас работает: mysqld_safe &
успешно запускает сервер MySQL. То, что до сих пор не работает, - это «обычный» метод запуска сервера (элемент запуска или панель настроек)
... кто-то в #mysql велел мне сказать, что, видимо, с MySQL все в порядке, это элемент запуска, который не работает.