Lion 上的 MySQL 5.5 不工作

标签 mysql macos osx-lion

我在 Mac OS X 10.7 上通过磁盘镜像安装了 MySQL 5.5。我还在 .bash_profile 的路径中添加了 /usr/local/mysql/bin

which 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

更新

好吧,我从我的系统中完全删除了 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”时仍然收到错误。

更新 2

好的,最后更新:在一切之后,重新安装 mysql 无数次,看到所有这些错误 - 事实证明,也许最初的问题是 gems mysql2-0.2.7 之间的冲突mysql2-0.3.11。最终解决问题:

  1. 从我的系统中删除了所有与 mysql 相关的文件(请参阅下面的 bash 脚本)

  2. 从 MySQL 网站上提供的磁盘镜像安装 MySQL 5.1.61(64 位)

  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.

现在一切似乎都正常了!再次感谢所有帮助。

用于从 Mac OS X(10.6 和 10.7)中删除与 mysql 相关的文件的 Bash 脚本。

#!/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),然后运行它。

最佳答案

  1. 运行mysql_upgrade
  2. my.cnf 中删除 skip-locking 选项:MySQL - what does skip-locking in my.cnf do?

如果您在my.cnf 中找不到skip-locking,这意味着MySQL 从与您预期不同的路径加载它。仔细检查。

附言看来您从某个旧版本升级了 MySQL,是吗?

关于Lion 上的 MySQL 5.5 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9075850/

相关文章:

mysql - 使用 "IF"时程序无法正常工作

mysql - MySQL有没有 "this"数据库的概念?

php - Laravel 5.2 将用户 IP 地址保存到数据库

xcode - Fish shell 很慢,在 MacOS 10.15.6 上每个命令大约需要 1 秒

C++ 程序在 Mac OSX 终端中编译需要很长时间

mysql - SQL Alter table 语句包含数据数组的列

php - 48)地址已在使用:AH00072:make_sock:无法绑定(bind)到地址[::]:80

ruby - Rake w/Git 说 'fatal: Will not add file alias' 但我可以手动完成吗?

Mac OS X v10.7 (Lion) 上的 Git

cocoa - NSMatrix 隐藏在 10.7 Lion 上