【问题标题】:Can't Start MySQL on Mavericks无法在 Mavericks 上启动 MySQL
【发布时间】:2014-09-02 01:39:14
【问题描述】:

我最近将我的 Mac 升级到 Mavericks,但无法让 MySQL 正常工作。

我按照网上的说明删除了以前的 MySQL 安装,然后下载了 DMG 文件并运行了安装程序 - 之后,我能够让它运行,但无法登录。

我注意到安装程序创建了一个 /usr/local/mysql/ 目录,该目录指向 /usr/local/mysql-5.6.19-osx10.7-x86_64

然后我把/usr/local/mysql-5.6.19-osx10.7-x86_64/data目录换成旧的data目录,现在不能启动MySQL了。

我收到错误:“警告 /usr/local/mysql/data 目录不属于 'mysql' 或 '_mysql' 用户”并且无法再启动 MySQL。

我尝试使用以下方法更改目录的权限,但没有运气:

sudo chmod -R 777 /usr/local/mysql/

sudo chmod -R 777 /usr/local/mysql-5.6.19-osx10.7-x86_64

sudo chown -R mysql:mysql /usr/local/mysql/data

sudo chown -R mysql:mysql /usr/local/mysql/data

sudo chown -R _mysql /usr/local/var/mysql

chown: /usr/local/var/mysql: 没有这样的文件或目录

sudo chmod -R o+rwx /usr/local/var/mysql

chmod: /usr/local/var/mysql: 没有这样的文件或目录

我确实修改了 plist 文件和 cnf 文件,如下所述:

https://community.jboss.org/blogs/tedjones/2014/05/02/getting-mysql-up-and-running-after-upgrading-to-mavericks?_sscc=t

不知道还能做什么。

【问题讨论】:

    标签: mysql osx-mavericks


    【解决方案1】:

    我能够解决这个问题。您只需要在运行安装时一丝不苟。

    请注意,从 Mac OS 10.8 或更早版本升级到 Mavericks 将导致 MySQL 不再运行(换句话说,“您确定要升级到 Mavericks 吗?”)

    由于 MySQL 无法运行,我决定重新安装 MySQL 并升级到最新版本。

    我按照上面链接中的说明给出了以下建议:

    1. 在做任何事情之前备份你的 MySQL 数据目录。

      MySQL 数据文件位于 /usr/local/mysql-5.6.19-osx10.7-x86_64/data 目录(或类似目录,取决于您安装的版本)。

      备份!

    2. 确保在安装升级版本之前停止 MySQL。

      如果您的 plist 文件将 keepalive 设置为 True,则每次您尝试退出 MySQL 时,它都会退出(或看似退出)但随后会立即重新启动。

      如果您想使用 Preference Pane 来启动和停止 MySQL,请确保将 .plist 文件中的 keepalive 设置为 false,否则 Preference Pane 将不起作用。

      进行更改后,我尝试终止 plist 进程,但它不起作用。我刚刚重新启动了我的 Mac,从那时起,我可以在需要时从终端或首选项窗格启动和停止 MySQL。

      有时,首选项窗格无法启动/停止 MySQL。在那种情况下,我会在终端中输入启动/停止命令并且它起作用了。

      启动 MySQL:

      sudo /usr/local/mysql/support-files/mysql.server start
      

      停止 MySQL:

      sudo /usr/local/mysql/support-files/mysql.server stop
      
    3. 从 MySQL 下载 .dmg 文件并运行安装程序。

      我确实尝试过下载 .tar 文件,它可能成功了 - 但在我第二次尝试时,我选择了 .dmg 文件,一切都很顺利。

      如果您此时尝试启动 MySQL,它应该可以正常运行。

      请记住,由于此时您已经全新安装了 MySQL,您可以使用用户名“root”和密码“无密码”登录(密码留空)。

      请注意,如果您从终端启动 MySQL,您将获得比从首选项窗格尝试更多的信息,因此如果您遇到困难,请确保您从终端停止并启动 MySQL。您将收到一些用于解决问题的错误消息。

    4. 您可以按照上面安装程序说明中的说明修改 .cnf 和 .plist 文件(只要在进行任何更改之前停止 MySQL)。

      通常,您会将网页中的信息(如上所述)复制并粘贴到 .cnf 文件中。这很简单,但是双重和三重检查复制和粘贴没有遗漏一两个字符。这发生在我将代码粘贴到 .cnf 文件中时(前两个字符丢失),我花了几个小时才弄明白 - 这导致 MySQL 无法启动。

      如果对 .cnf 或 .plist 文件的更改似乎没有生效,请重新启动 Mac(比重新启动进程更容易)。

    5. 移动您的数据。

      我的安装创建了 /usr/local/mysql/ 别名或符号链接到 /usr/local/mysql/mysql-5.6.19-osx10.7-x86_64 目录。

      /usr/local/mysql/data 目录(实际上是 /usr/local/mysql/mysql-5.6.19-osx10.7-x86_64/data 目录 - 请记住,这是一个符号链接)是您的数据驻留。

      您想要备份以前的数据目录。如果您在运行安装程序之前忘记备份它,并且您有 Time Machine 备份,您可以找回它。

      最简单的方法是打开 /usr/local/ 目录(从 Finder 并从 Go 菜单中选择“Go to Folder”),然后在 Finder 中打开 /usr/local/ 目录,选择从 Time Machine 菜单进入 Time Machine。返回上一次安装 MySQL 的最后一个已知日期。找到您之前安装 MySQL 的文件夹并打开数据目录。

      您必须从完全相同的时间点选择所有文件。您不能从某一天选择一个数据文件夹,从另一天选择一个数据文件夹(我实际上是这样做的,并花了很多时间试图弄清楚为什么我的一个数据表在 Sequel Pro 中可见但不起作用)。过了一会儿,我终于发现,一切都必须来自完全相同的时间点。

      您可以在 Time Machine 中通过右键单击文件来复制文件。选择所有数据文件夹(其中包含 .ibd 和 .frm 文件)以及所有 ib_logfiles(ib_logfile0、ib_logfile1)、auto.cnf 和 .pid 文件。基本上复制 mysql 数据文件夹中的所有内容,除了 mysql、performance_schema 和 test 目录。

      退出时间机器。

      确保 MySQL 已停止,然后将数据文件粘贴到 /usr/local/mysql/data 目录中。

    6. 设置数据目录的权限。

      在终端中,输入:

      sudo chown -R mysql:mysql /usr/local/mysql/data
      

      确保不要使用 chmod 777 命令,因为网上有人说它会损坏东西。

    7. 现在,启动 MySQL,您应该可以完整且正常地安装之前 MySQL 中的数据文件。此外,我不必为 Sequel Pro 重置任何密码。在 Mavericks 升级之前保存的 Sequel Pro 设置。

    【讨论】:

    • 谢谢,但是我只需要运行 sudo chown -R mysql:mysql /usr/local/mysql/data 然后重新启动服务器 :)
    • 与@Jon sudo chown -R mysql:mysql /usr/local/mysql/data 相同!
    猜你喜欢
    • 2015-06-04
    • 2013-11-03
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 2014-04-20
    • 2017-04-24
    • 2019-07-18
    相关资源
    最近更新 更多