在Mac OS X上安装MySQL 5.7的错误El Capitan

时间:2016-01-17 18:37:32

标签: mysql database macos installation uninstall

我需要一些帮助来了解在我的本地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 

然后我的文档的另一部分名为使用mysql手动初始化数据目录,它解释了这个错误并实际上说:

  

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

     

[错误] - 指定了初始化但数据目录存在。中止。   在这种情况下,请删除或重命名数据目录,然后重试。

     

从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窗格?

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

    非常感谢。

1 个答案:

答案 0 :(得分:0)

由于您的数据目录存在权限问题,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文件夹中删除文件的行应该从系统偏好设置中删除MySQL窗格(重启后)。包含以下内容的位:

    sudo rm -rf .../my*
    

    让我有点不安。

  3. 你有* nix经验吗?我认为这比在这个特殊情况下熟悉数据库更有帮助,因为你正处于OS X的明亮糖果之下,进入黑暗的,巧妙的BSD Unix中心。

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