繁体   English   中英

无法在Mavericks上启动MySQL

[英]Can't Start MySQL on Mavericks

我最近将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目录,现在我无法启动MySQL。

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

我试图通过以下方法来更改目录的权限,但是没有运气:

须藤chmod -R 777 / usr / local / mysql /

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

须藤chown -R mysql:mysql / usr / local / mysql / data

须藤chown -R mysql:mysql / usr / local / mysql / data

须藤chown -R _mysql / usr / local / var / mysql

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

须藤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

不知道该怎么办。

我能够解决这个问题。 在运行安装时,您只需要谨慎。

请注意,从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时,它将退出(或似乎退出),但立即重启。

    如果要使用首选项窗格启动和停止MySQL,请确保将.plist文件中的keepalive设置为false,否则首选项窗格将不起作用。

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

    有时,首选项窗格无法启动/停止MySQL。 在这种情况下,我将在Terminal中输入start / stop命令,它就可以了。

    启动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”和密码“ no password”(密码为空)登录。

    请注意,如果从终端启动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并从“转到”菜单中选择“转到文件夹”),然后在Finder中打开/ usr / local /目录,选择Enter 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设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM