代码之家  ›  专栏  ›  技术社区  ›  David S.

在Mavericks上使用Homebrew安装MySQL时出现问题

  •  8
  • David S.  · 技术社区  · 11 年前

    我在Mavericks上安装带有Homebrew的MySQL时遇到了疯狂的问题。我知道有一个名字类似的主题,但我已经尝试了所有写在那里的东西,以及至少20个站点,但都没有成功。我根据不同的教程尝试了安装步骤,但没有任何效果。

    我这样做:

    brew update
    brew doctor
    brew upgrade
    
    brew install mysql
    

    Brew将其安装在/usr/local/Cellar/mysql/5.6.16中。。。

    我试着像布鲁所说的那样: mysql -uroot

    我创建LaunchAgents目录,将自制plist文件链接到它并启动控件:

    mkdir -p ~/Library/LaunchAgents
    ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    

    之后,我尝试使用 sudo mysql.server start 但我收到一个套接字错误

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

    我尝试用 mysqld_safe & 但我得到以下输出:

    [1] 69187
    Davids-MacBook-Air-5:~ davidsupan$ 140224 14:39:16 mysqld_safe Logging to     '/usr/local/var/mysql/Davids-MacBook-Air-5.local.err'.
    touch: /usr/local/var/mysql/Davids-MacBook-Air-5.local.err: Permission denied
    140224 14:39:16 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
    /usr/local/bin/mysqld_safe: line 129: /usr/local/var/mysql/Davids-MacBook-Air-5.local.err: Permission denied
    /usr/local/bin/mysqld_safe: line 166: /usr/local/var/mysql/Davids-MacBook-Air-5.local.err: Permission denied
    140224 14:39:16 mysqld_safe mysqld from pid file /usr/local/var/mysql/Davids-MacBook-Air-5.local.pid ended
    /usr/local/bin/mysqld_safe: line 129: /usr/local/var/mysql/Davids-MacBook-Air-5.local.err: Permission denied
    

    下面的命令似乎很有用 sudo chmod-R 755/usr/local/var/mysql rm-Rf/usr/local/var/mysql/Davids-MacBook-Air-5.local.err

    mysql.server restart
    

    mysql服务器成功启动

    Shutting down MySQL
    .. SUCCESS! 
    Starting MySQL
    . SUCCESS! 
    

    其他时候,无论我做什么,我总是会出现以下错误

    错误2002(HY000):无法通过套接字'/tmp/MySQL.sock'连接到本地MySQL服务器(2)
    

    有些页面建议这样做

    unset TMPDIR
    mysql_install_db --verbose --user='whoami' \\
    --basedir="$(brew --prefix mysql)" \\
    --datadir=/usr/local/var/mysql --tmpdir=/tmp
    

    但我没有成功地解决这个问题。

    如有任何帮助,将不胜感激。我希望我描述的问题足够详细。如果没有,我很乐意提供更多信息。

    编辑:我尽力了 mysqld重启 我得到了更多的错误:

    2014-02-25 12:35:54 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2014-02-25 12:35:54 34599 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
    2014-02-25 12:35:54 34599 [Note] Plugin 'FEDERATED' is disabled.
    2014-02-25 12:35:54 34599 [Note] InnoDB: Using atomics to ref count buffer pool pages
    2014-02-25 12:35:54 34599 [Note] InnoDB: The InnoDB memory heap is disabled
    2014-02-25 12:35:54 34599 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
    2014-02-25 12:35:54 34599 [Note] InnoDB: Compressed tables use zlib 1.2.3
    2014-02-25 12:35:54 34599 [Note] InnoDB: Using CPU crc32 instructions
    2014-02-25 12:35:54 34599 [Note] InnoDB: Initializing buffer pool, size = 128.0M
    2014-02-25 12:35:54 34599 [Note] InnoDB: Completed initialization of buffer pool
    2014-02-25 12:35:54 34599 [ERROR] InnoDB: ./ibdata1 can't be opened in read-write mode
    2014-02-25 12:35:54 34599 [ERROR] InnoDB: The system tablespace must be writable!
    2014-02-25 12:35:54 34599 [ERROR] Plugin 'InnoDB' init function returned error.
    2014-02-25 12:35:54 34599 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
    mysqld: Too many arguments (first extra is 'restart').
    Use --verbose --help to get a list of available options
    2014-02-25 12:35:54 34599 [ERROR] Aborting
    
    2014-02-25 12:35:54 34599 [Note] Binlog end
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'partition'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_FT_DELETED'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_METRICS'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_CMPMEM'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_CMP_RESET'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_CMP'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_LOCKS'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'INNODB_TRX'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'BLACKHOLE'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'ARCHIVE'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'MRG_MYISAM'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'MyISAM'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'MEMORY'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'CSV'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'sha256_password'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'mysql_old_password'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'mysql_native_password'
    2014-02-25 12:35:54 34599 [Note] Shutting down plugin 'binlog'
    2014-02-25 12:35:54 34599 [Note] mysqld: Shutdown complete
    
    2 回复  |  直到 11 年前
        1
  •  1
  •   hao    10 年前

    我们昨天遇到了同样的问题。 我的错误是执行

    sudo launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    

    第一次,但是 forgot 卸载它。几个线索:

    1. 一个过程 mysqld_safe 在下面运行 root
    2. 一个过程 mysql 在下面运行 _mysql
    3. 他们两个 up down 一次又一次。
    4. 错误文件的所有者 /usr/local/var/mysql/*.err _mysql数据库
    5. 运行时 sudo launchctl list | grep mysql ,存在mysql服务

    解决方案很简单:

    sudo launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    

    根本原因是,自制程序的mysql不被认为是在 至少看起来是这样。

    也许这和你的问题不一样,但我希望这会有所帮助。

        2
  •  1
  •   Synchro    11 年前

    这看起来主要是权限问题。这两条线至关重要:

    2014-02-25 12:35:54 34599 [ERROR] InnoDB: ./ibdata1 can't be opened in read-write mode
    2014-02-25 12:35:54 34599 [ERROR] InnoDB: The system tablespace must be writable!
    

    我可以看到您对mysql文件设置了权限,但您可能也应该检查所有权。对于自制软件来说,这样做通常是安全的 sudo chown -R david:staff /usr/local 以及 sudo chmod u+rwX /usr/local (比 0755 权限),而homebrew下的mysql应该像您一样运行。

    在安装时,我建议您使用 Percona server MySQL版本,也可以在自制程序中使用 percona-server 。你也可以考虑MariaDB——它们都是普通MySQL的替代品,也有一些优势。