【问题标题】:Errors with MySQL 5.7 installation on Mac OS X El Capitan在 Mac OS X El Capitan 上安装 MySQL 5.7 时出错
【发布时间】:2016-04-22 21:05:18
【问题描述】:

我需要一些帮助来了解在本地 Macbook 上安装和初始化 MySQL。首先,我使用 DMG 文件安装了 MySQL,一切看起来都很好。我什至尝试在数据库上做一些基本的 hello-world 类型的活动来感受一下。

接下来我遇到了这个page in the documentation,它解释了初始化数据目录的过程。我真的很困惑,决定按照here 的说明卸载 MySQL,然后重新完成整个安装过程。我这样做的目标是,在开始使用数据库之前,我可以按照文档中所述的初始化说明进行操作,这与第一轮不同的是,我在初始化之前就开始使用它。

我发现初始化过程非常棘手和混乱。正如我在运行命令的步骤中一样

shell> bin/mysqld --initialize --user=mysql

弹出的错误

2016-01-17T17:28:21.145457Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-01-17T17:28:21.162124Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2016-01-17T17:28:21.162188Z 0 [ERROR] Aborting 

然后我在标题为Initializing the Data Directory Manually Using mysql的文档的另一部分解释了这个错误,实际上说:

如果数据目录存在且不为空(即它包含文件或>子目录),则服务器在产生错误消息后退出:

[ERROR] --initialize 指定但数据目录存在。中止。 在这种情况下,请删除或重命名数据目录,然后重试。

从 MySQL 5.7.11 开始,如果每个条目的名称以句点 (.) 开头或 > 使用 --ignore-db-dir 选项命名,则允许现有数据目录为非空。

这就是我所做的,我可以继续初始化。之后我继续正常启动服务器,

通过使用-->initialize 或--initialize-insecure 启动服务器来初始化数据目录后,正常启动服务器(即>不使用这些选项中的任何一个)并分配'root'@'localhost'帐户>新密码: 一系列的步骤我这里就不引用了

并完成文档中的其余说明,然后关闭服务器。

但我意识到我的 Mac 系统偏好设置中的专用 MySQL 窗格,它显示 MySQL 服务器是否正在运行,但仍然显示 MySQL 服务器实例仍在运行。它让我想起了我可能没有做足够的工作来从系统偏好设置中删除 MySQL 窗格,而我看到的是我第一次安装时的幽灵。我想消除它,所以我经历了整个过程,从 DMG 卸载和安装并再次初始化 MySQL。但是这一次,当我尝试运行服务器时,我得到了一个新的错误:

Kohs-MacBook-Pro:mysql Kohaugustine$ sudo bin/mysqld_safe --user=mysql &
[2] 15041
Kohs-MacBook-Pro:mysql Kohaugustine$ 160117 11:52:56 mysqld_safe Logging to '/usr/local/mysql-5.7.10-osx10.9-x86_64/data/Kohs-MacBook-Pro.local.err'.
160117 11:52:56 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-5.7.10-osx10.9-x86_64/data
160117 11:52:58 mysqld_safe mysqld from pid file /usr/local/mysql-5.7.10-osx10.9-x86_64/data/Kohs-MacBook-Pro.local.pid ended

现在,无论我尝试多少次,MySQL 服务器都拒绝启动。即使我通过系统偏好设置使用 GUI 执行此操作,单击 Start MySQL Server 图标实际上也没有任何效果。

我现在不知道该怎么做,如果能提供任何帮助,我将不胜感激!

这一切真的让我很困惑,我还有以下问题,任何答案都会有很大帮助:

  1. 为什么在从 DMG 文件自动安装时已经创建了数据目录? DMG 安装是否也已经进行了初始化?既然如此,那为什么文档还告诉我们初始化我们的安装呢?

  2. 我按照上面发布的说明卸载 MySQL 的方法是否正确?这个卸载过程真的会从系统偏好设置中删除 MySQL 窗格吗?

尝试安装 MySQL 非常令人沮丧,但这可能与我总体上对数据库缺乏经验有关。

非常感谢。

【问题讨论】:

    标签: mysql database macos installation uninstallation


    【解决方案1】:

    MySQL 可能由于您的数据目录的权限问题而关闭。我昨天刚遇到这个问题。试试下面的命令:

    sudo chown -R mysql /usr/local/mysql-5.7.10-osx10.9-x86_64/data
    

    这将更改数据目录的所有者以匹配您用于运行 MySQL 守护程序的用户。对于它的价值,在我的 Macbook(Yosemite,MySQL 5.5)上,用户是“_mysql”而不是“mysql”。所以你应该仔细检查一下。

    至于你的其他问题……

    1. 我相信数据目录是您下载的 MySQL 包的一部分。 MySQL 将有关自身的信息保存在几个 MySQL 数据库中。当您进行全新安装时,这些数据库应该位于数据目录中。

    2. 我还没有尝试卸载 MySQL,但这些步骤看起来应该可行。具体来说,关于从 PreferencePanes 文件夹中删除文件的行应该从 System Preferences 中删除 MySQL 窗格(重启后)。包含的位:

      sudo rm -rf .../my*
      

      虽然让我有点不安。

    您有任何 *nix 经验吗?在这种特殊情况下,我认为这不仅有助于您熟悉数据库,因为您将进入 OS X 明亮的糖果外壳并进入 BSD Unix 的黑暗巧克力中心。

    希望这会有所帮助。祝你好运!

    【讨论】:

    • 非常感谢您分享您的经验并回答我的问题!关于你所说的权限问题,我的主人确实是_mysql,即使这样,服务器也无法启动......
    猜你喜欢
    • 2016-12-15
    • 1970-01-01
    • 2016-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    相关资源
    最近更新 更多