Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lion上的MySQL 5.5不工作_Mysql_Macos_Osx Lion - Fatal编程技术网

Lion上的MySQL 5.5不工作

Lion上的MySQL 5.5不工作,mysql,macos,osx-lion,Mysql,Macos,Osx Lion,我已经通过Mac OS X 10.7上的磁盘映像安装了MySQL 5.5。我还在.bash\u profile中的路径中添加了/usr/local/mysql/bin 哪个mysql返回/usr/local/mysql/bin/mysql 然而,无论我做什么尝试,我似乎都无法让服务器运行 mysql-u root返回: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'

我已经通过Mac OS X 10.7上的磁盘映像安装了MySQL 5.5。我还在
.bash\u profile
中的路径中添加了
/usr/local/mysql/bin

哪个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\u 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服务器
。我得到以下错误:

/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服务器”时仍会收到错误

更新2

好的,最后一次更新:在一切结束后,多次重新安装mysql,看到所有这些错误-结果可能是最初的问题是gems
mysql2-0.2.7
mysql2-0.3.11
之间的冲突。要最终解决问题,请执行以下操作:

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

  • 从MySQL网站上提供的磁盘映像安装MySQL 5.1.61(64位)

  • 运行以下行:

  • sudo安装_name_工具-更改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安装名称工具-更改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

  • 运行
    gem卸载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
    ),然后运行它。

    先试试这个

    sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
    
    似乎您需要正确安装它,并让它创建所需的sock文件

    听起来(对我来说)您有权限问题

    检查以下目录中的烫发:

    /usr/local/mysql/bin
    /usr/local/mysql/data
    /usr/local/mysql/include
    /usr/local/mysql/lib
    /usr/local/mysql/scripts
    /usr/local/mysql/share

    /usr/local/mysql/*

    对于mysql用户和mysql组,它们都应该是读/写/执行的

    阅读有关安装布局的详细信息:

    mysql\u安全脚本:我认为它可能会让用户切换到“用户”mysql。 请阅读更多关于此的内容:

  • 运行mysql\u升级
  • my.cnf
    中删除
    跳过锁定
    选项:
  • 如果在您的
    my.cnf
    中找不到
    skip locking
    ,这意味着MySQL从不同于您期望的路径加载它。再检查一遍


    另外,您似乎是从某个旧版本升级了MySQL,是吗?

    请检查以确保您的数据目录是MySQL可读写的

    尝试运行
    mysqld\u safe——跳过锁定&

    这将在后台启动服务器。然后用“mysql”登录。。它不应该要求任何凭证

    检查mysql数据库的用户表中是否定义了任何用户

    您可能必须使用以下方式手动添加用户(因为上面绕过了授权系统):

    使用mysql
    插入到用户中
    
    完成后,从mysql客户端出来,执行一个
    killall-s1 mysqld
    。。您可能需要执行一个
    killall-s15mysqld
    ,以使后台工作干净利落地完成。请不要对糟糕的旧流程执行
    -9


    作业/kill%%等也可以使用。

    在错误日志的一行中,这引起了我的注意

    120209  0:02:23 [ERROR] mysqld: unknown option '--skip-locking'
    

    您可能希望将my.cnf中的替换为


    由于您删除了
    --跳过锁定
    请在my.cnf中查找datadir,并确保将该变量指向mysql数据所在的位置。

    只需从
    /usr/local
    目录运行
    mysql\u install\u db
    。有关更多信息,请参阅。

    您查看过引用的错误日志或系统控制台吗?它提到的错误日志是空的,我不知道如何检查系统控制台。应用程序>实用程序>控制台系统控制台中的所有内容都是我运行了命令:
    1/31/12 12:09:39.915 am sudo:bricker:TTY=ttys001;PWD=/private/tmp;用户=根用户;COMMAND=/usr/local/mysql/bin/mysqld_safe
    请参阅,如果此链接有帮助:您是否检查了/tmp是否包含mysql.sock?已授予/usr/local/mysql/中的所有文件777权限并切换到组
    \u mysql
    ,但我仍然得到相同的结果。您是否从mysql磁盘映像安装了mysql启动项?如果您这样做了,您应该能够运行该行,MySQL也应该在启动时启动。我已经启动了MySQL-现在在尝试运行
    rails server
    时收到不同的错误。是的,我正在从旧版本升级。我从my.cnf中删除了跳过锁定,现在收到以下错误:
    无法打开和锁定特权表:表“mysql.host”不存在
    。我在谷歌上找到了一些可能的解决方案,但似乎都不管用。你从哪个版本升级?当我
    120209  0:02:23 [ERROR] mysqld: unknown option '--skip-locking'