MySQL 5.5 на Lion не работает

Я установил MySQL 5.5 через образ диска на Mac OS X 10.7. Я также добавил /usr/local/mysql/bin к моему пути в .bash_profile.

который mysql возвращает /usr/local/mysql/bin/mysql

Однако я не могу запустить сервер, что бы я ни пытался.

mysql -u root возвращает:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

sudo /usr/local/mysql/bin/mysqld_safe запускает и затем сразу же останавливает демон:

120130 23:18:57 mysqld_safe Logging to '/usr/local/mysql/data/Bryans-Macbook-Pro.local.err'.
120130 23:18:57 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
120130 23:18:59 mysqld_safe mysqld from pid file /usr/local/mysql/data/Bryans-Macbook-Pro.local.pid ended

Я чувствую, что перепробовал все возможные решения, которые можно найти, и у меня больше нет идей. Я даже пробовал установить более старую версию MySQL (5.1) и получил те же результаты и напрасные усилия.

ДАЛЬНЕЙШАЯ ИНФОРМАЦИЯ

Запуск mysqld приводит к:

$ mysqld
120209  0:02:23 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql-5.5.20-osx10.6-x86_64/data/ is case insensitive
120209  0:02:23 [Note] Plugin 'FEDERATED' is disabled.
mysqld: Table 'mysql.plugin' doesn't exist
120209  0:02:23 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
120209  0:02:23 InnoDB: The InnoDB memory heap is disabled
120209  0:02:23 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120209  0:02:23 InnoDB: Compressed tables use zlib 1.2.3
120209  0:02:23 InnoDB: Initializing buffer pool, size = 128.0M
120209  0:02:23 InnoDB: Completed initialization of buffer pool
120209  0:02:23 InnoDB: highest supported file format is Barracuda.
120209  0:02:23 InnoDB: 1.1.8 started; log sequence number 1595675
120209  0:02:23 [ERROR] mysqld: unknown option '--skip-locking'
120209  0:02:23 [ERROR] Aborting

120209  0:02:23  InnoDB: Starting shutdown...
120209  0:02:24  InnoDB: Shutdown completed; log sequence number 1595675
120209  0:02:24 [Note] mysqld: Shutdown complete

UPDATE

Ну, я полностью удалил mysql из моей системы, заново установил более старую версию (5.1), и он действительно запускается сейчас. Однако я все еще не могу запустить rails server. Я получаю следующую ошибку:

/Users/bricker/.rvm/gems/ruby-1.8.7-p352/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle: dlopen(/Users/bricker/.rvm/gems/ruby-1.8.7-p352/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle, 9): Library not loaded: /opt/local/lib/mysql5/mysql/libmysqlclient_r.16.dylib (LoadError)

Итак, я выполнил эту команду:

sudo install_name_tool -change libmysqlclient_r.16.dylib /opt/local/lib/mysql5/mysql/libmysqlclient_r.16.dylib ~/.rvm/gems/ruby-1.8.7-p352/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle

Но все еще получаю ошибку при попытке запустить 'rails server'.

UPDATE 2

Итак, последнее обновление: После всего, переустановки mysql множество раз, появления всех этих ошибок - выяснилось, что, возможно, первоначальная проблема заключалась в конфликте между гемами mysql2-0.2.7 и mysql2-0.3.11. Для окончательного решения проблемы:

  1. Удалил все связанные с mysql файлы из системы (см. bash скрипт ниже)

  2. Установил MySQL 5.1.61 (64-bit) из образа диска, предоставленного на сайте MySQL

  3. Выполнил следующие строки:

sudo install_name_tool -change libmysqlclient_r.16.dylib /opt/local/lib/mysql5/mysql/libmysqlclient_r.16 .dylib ~/.rvm/gems/ruby-1.8.7-p352/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle

sudo install_name_tool -change libmysqlclient.16.dylib /usr/local/mysql/lib/libmysqlclient.16 .dylib ~/.rvm/gems/ruby-1.8.7-p352/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle

  1. запустил gem uninstall mysql2, и выбрал версию 0.3.11 - на этом разделе RVM осталась только версия mysql2-0.2.7.

Теперь, кажется, все работает! Еще раз спасибо за помощь.

Bash-скрипт для удаления файлов, связанных с mysql, из Mac OS X (10.6 и 10.7).

#!/bin/bash
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
echo "Done."

Скопируйте в remove-mysql.sh, сделайте его исполняемым (chmod +x remove-mysql.sh) и запустите.

6
задан Sharathsshetty 10 February 2012 в 08:50
поделиться