Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mac OS X El Capitan上安装MySQL 5.7时出错_Mysql_Database_Macos_Installation_Uninstallation - Fatal编程技术网

Mac OS X El Capitan上安装MySQL 5.7时出错

Mac OS X El Capitan上安装MySQL 5.7时出错,mysql,database,macos,installation,uninstallation,Mysql,Database,Macos,Installation,Uninstallation,我需要一些帮助来理解在本地Macbook上安装和初始化MySQL。首先,我使用DMG文件安装了MySQL,一切看起来都很好。我甚至试着在数据库上做一些基本的hello world类型的活动来了解它 接下来,我遇到了这个例子,它解释了初始化数据目录的过程。我真的很困惑,决定按照说明卸载MySQL,然后再次完成整个安装过程。我这样做的目的是,在开始使用数据库之前,我可以按照文档中所述的初始化说明进行操作,而不是在第一轮中,我在初始化之前就开始使用它 我发现初始化的过程非常复杂和混乱。当我在运行命令的

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

接下来,我遇到了这个例子,它解释了初始化数据目录的过程。我真的很困惑,决定按照说明卸载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 unsecure启动服务器来初始化数据目录后,请正常启动服务器(即,>不使用这些选项之一),并为“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进行操作,单击
启动MySQL服务器
图标也不会产生任何效果

我现在不知道该怎么办,非常感谢您在这方面的帮助

所有这些都让我感到困惑,我还有以下问题,任何关于这些问题的答案都会有很大帮助:

  • 为什么在从DMG文件自动安装时已经创建了数据目录?DMG安装是否已经进行了初始化?在这种情况下,为什么文档仍然告诉我们初始化安装

  • 我按照上面发布的说明卸载MySQL的方法正确吗?这个卸载过程是否真的从系统首选项中删除了MySQL窗格

  • 试图安装MySQL是相当令人沮丧的,但这可能与我对数据库总体缺乏经验有关


    非常感谢。

    由于数据目录的权限问题,MySQL可能会关闭。我昨天才遇到那个问题。请尝试以下命令:

    sudo chown -R mysql /usr/local/mysql-5.7.10-osx10.9-x86_64/data
    
    这将更改数据目录的所有者,以匹配用于运行MySQL守护程序的用户。值得一提的是,在我的Macbook(Yosemite,MySQL 5.5)上,用户是“_MySQL”,而不是“MySQL”。所以你应该仔细检查一下

    至于你的其他问题

  • 我相信数据目录是您下载的MySQL包的一部分。MySQL将自己的信息保存在几个MySQL数据库中。当您重新安装时,这些数据库应该位于数据目录中

  • 我还没有尝试卸载MySQL,但是这些步骤看起来应该可以正常工作。具体来说,关于从PreferencePanes文件夹中删除文件的行应该从系统首选项中删除MySQL窗格(在重新启动之后)。位包含:

    sudo rm -rf .../my*
    
    但这让我有点不安

  • 你有尼克斯的经验吗?我认为,在这种特殊情况下,这将有助于您熟悉数据库,因为您将进入OSX明亮的糖果外壳下,进入黑暗的巧克力中心,即BSD Unix


    希望这有帮助。祝你好运

    非常感谢您分享您的经验并回答我的问题!关于你所说的权限问题,我的所有者确实是mysql,即使如此,服务器也无法启动。。。