【问题标题】:MacOS Can't start MySQL ServerMacOS 无法启动 MySQL 服务器
【发布时间】:2017-02-02 06:53:57
【问题描述】:

我有 MacOS Sierra。我已经安装了 MySQL Server,它一直在工作,但是,在 Mac Book 重新启动后,我无法启动 MySQL Server。

我尝试在my.cnf 文件中将端口从3306 更改为3307。

问题

对于如何启动 MySQL 服务器以及让它在 MacOS 启动时自动启动的任何帮助,我将不胜感激。

(我是 Mac 新手,如果这是一个基本问题,请见谅)。

更新

在查找错误日志时,我找不到今天 (2/2/2017) 时间戳的任何内容。

data 目录中没有任何内容:

自从我尝试启动 MySQL 服务器(2017 年 2 月 2 日 09:00 之后)以来,没有修改任何带有“mysql”的文件。

【问题讨论】:

  • 你应该有一个“错误”文件——在我的 /usr/local/var/mysql 中,它类似于 .local.err。看看那里,看看是否有任何明显的东西(应该在文件末尾附近)。
  • 而且,如果您使用 brew 安装 mysql,请使用 'brew services start mysql' 让它自动启动。
  • 我找不到任何错误日志(查看上面的更新)。我找错地方了吗?我刚刚下载并运行了安装程序,所以没有使用 brew。
  • 您正在从我那里看到的 lib/plugin/debug 目录中查找 - 查看创建数据库的根目录(您的数据目录)。
  • 过去几周我一直在成功使用它,但是今天早上重新启动了计算机,现在出现了这个问题。将按照您的建议进行搜索。感谢您的帮助。

标签: mysql macos


【解决方案1】:

我建议使用终端命令。

启动 MySQL

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

停止 MySQL

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

重启 MySQL

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

【讨论】:

  • 这对我有帮助,因为我能够看到导致问题的权限错误。
  • 非常感谢,当我删除外键时,我的 macOS High Sierra 上的 MySQL 服务器崩溃了。杀死所有 mysql 进程,然后使用此命令再次启动 mysql,因为它不会从设置启动。
  • 感谢这些命令,真的很有帮助!
【解决方案2】:

在我的例子中,msyql 目录的所有权以某种方式更改为 admin:admin。我使用 ares 建议从终端运行 mysqld:

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

显示写入 msyql 文件的权限错误。

我用这个命令修复了:

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

来自这篇文章:

What user should own /usr/local/mysql on Mac?

【讨论】:

    【解决方案3】:

    在我的情况下,我无意中将整个 /usr/local 目录的所有权转移给了我自己,这导致 daemon 用户抢走了/usr/local/mysql-5.7.20-macos10.12-x86_64/data 目录的写权限 /em> 称为“_mysql”。

    恢复所有权解决了这个问题。

    【讨论】:

    • 我遇到了完全相同的问题。谢谢。不敢相信这个答案没有得到任何支持。
    【解决方案4】:

    就我而言,第一次安装 Mysql 后,Mac 需要重新启动。

    所以在安装后重新启动 Mac,为我解决了这个问题。

    MacOS 不附带 my.cnf 文件。默认设置足以满足基本使用的需要。一旦我们需要覆盖它们,就有一个自定义配置是有意义的。

    【讨论】:

      【解决方案5】:

      在 MacOS High Sierra 上安装 Mysql 8.0.12 后,Mysql 服务器无法启动。我尝试了几个建议,例如删除 mysql 并重新安装它,重新启动计算机和更改文件权限,但均无济于事。我终于通过删除 /etc/my.cnf 让它工作了。

      【讨论】:

      • 我刚刚删除了文件,然后通过系统设置中的首选项窗格启动了 Mysql,单击开始按钮后,“灯”保持绿色而不是立即再次变为红色。我不确定,但 my.cnf 可能是旧 mysql 版本的剩余部分。
      • 这对我来说是个问题。我想在删除系统上所有旧的mysql文件时,我忘了删除这个。
      • 这也是我的问题。
      【解决方案6】:

      这个解决方案对我有用。

      您必须打开活动监视器并搜索 mysqld 服务。选择后,只需单击左上角的删除按钮,您就会看到内存下降。之后,您可以从 System Preferences 中验证您的 mysql 服务器状态并且服务已启动。

      使用此解决方案,您无需重新启动机器即可快速开始工作。

      【讨论】:

      • 这对我有帮助。它在删除服务后修复,然后再次激活自己并重新开始工作:)
      【解决方案7】:

      与 Richard 讨论后,以下解决了该问题:

      我的.cnf:

      [client]
      
      port = 3306
      socket = /tmp/mysql.sock
      
      
      [mysqld]
      
      port = 3306
      socket = /tmp/mysql.sock
      datadir = /usr/local/mysql-5.7.17-macos10.12-x86_64/data
      tmpdir = /tmp
      

      基本上,虽然我们已将相关节添加到 my.cnf 文件中,但我们仍然错过了节标题。添加 [mysqld] 部分允许 mysql 启动。

      【讨论】:

      • 感谢您在这里的所有帮助,这解决了我的问题。
      • @Richard 我有同样的问题,找不到 my.cnf。它会在哪里?
      • my.cnf 应该在哪里?我没看到。
      • @akarimin 位于 /usr/local/mysql/
      【解决方案8】:

      我的问题是由于我的机器不正确重新启动,数据库已损坏。根据their docs doing a forced InnoDB Recovery 做到了:

      /etc/my.cnf
      
      innodb_force_recovery = 2
      

      【讨论】:

      • 你拯救了我的一天!
      • 这是我Mac上的路径,/usr/local/mysql/etc/my.cnf
      【解决方案9】:

      我的问题是我不久前用 Homebrew 安装了 MySQL(忘了我做过),然后走的是更手动的路线,所以我认为这两个安装相互争斗。在本演练的帮助下,我清除了我的 Mac:https://gist.github.com/vitorbritto/0555879fe4414d18569d

      注意:如果说要使用 subl - 那就是 Sublime,请使用您喜欢的任何编辑器。

      在那之后,我能够通过全新安装让事情正常工作。

      【讨论】:

        【解决方案10】:

        我在跟踪 .err 日志时遇到了同样的问题。

        MacOS:Catalina 10.15.7。

        MySQL 版本:5.7.19。

        2021-08-19T02:17:26.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
        2021-08-19T02:17:27.303813Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
        2021-08-19T02:17:27.318280Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
        2021-08-19T02:17:27.335112Z 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.7.19) starting as process 2828 ...
        2021-08-19T02:17:27.421394Z 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
        2021-08-19T02:17:27.428986Z 0 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
        
        2021-08-19T02:17:27.429541Z 0 [ERROR] Aborting
        
        2021-08-19T02:17:27.429688Z 0 [Note] Binlog end
        2021-08-19T02:17:27.432786Z 0 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
        

        我发现将--user=root添加到Ares's answer会成功启动mysql服务器。

        sudo /usr/local/mysql/support-files/mysql.server start --user=root
        

        参考:MySQL Server Command User Options

        【讨论】:

        • 这里相同 - 我可以通过命令行运行它,但我仍然无法通过系统首选项应用程序启动它。发生了什么事?
        【解决方案11】:

        我在蒙特雷也遇到了同样的问题。确保根据您的处理器架构选择正确的下载。

        【讨论】:

          猜你喜欢
          • 2013-12-08
          • 2021-10-18
          • 2021-10-24
          • 1970-01-01
          • 2017-06-18
          • 2021-03-11
          • 2014-12-24
          • 1970-01-01
          • 2015-01-21
          相关资源
          最近更新 更多