2014-07-11 73 views
0

我最近将我的Mac升级到Mavericks,并且无法让MySQL正常工作。无法在小牛上启动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 /本地/ MySQL的/

须藤CHMOD -R 777的/ usr /本地/ mysql- 5.6.19-osx10.7-x86_64的

须藤CHOWN -R MySQL的:MySQL的/ USR /本地/ MySQL的/数据

须藤CHOWN -R MySQL的:MySQL的/ USR /本地/ MySQL的/数据

须藤CHOWN -R _mysql的/ usr /本地的/ var/MySQL的

CHOWN:在/ usr /本地的/ var/MySQL的:没有这样的文件或目录

须藤搭配chmod -R O + RWX的/ usr /本地的/ var/MySQL的

文件模式:在/ usr /本地的/ var/mysql的:没有这样的文件或目录

我做了修改plist文件和文件CNF如下所述:

https://community.jboss.org/blogs/tedjones/2014/05/02/getting-mysql-up-and-running-after-upgrading-to-mavericks?_sscc=t

不知道还有什么要做。

回答

4

我能解决这个问题。您在运行安装时必须非常细致。

请注意从Mac OS,升级10.8或以上的小牛将导致不再运行MySQL(换句话说,“你确定你想升级到小牛?”)

随着MySQL的非功能性,我决定重新安装MySQL并升级到最新版本。

我跟着上面的链接与建议下面的话说明:做任何事情之前

  1. 备份您的MySQL数据目录。

    MySQL数据文件位于/usr/local/mysql-5.6.19-osx10.7-x86_64/data目录(或类似的,取决于您安装的版本)。

    BACK IT UP!

  2. 确保在安装升级版本之前停止MySQL。

    如果您的plist文件的keepalive设置为True,每次尝试退出MySQL时,它都会退出(或将显示退出),但会立即重新启动。

    如果您想使用首选面板来启动和停止MySQL,请确保您将.plist文件中的keepalive设置为false,否则首选面板将不起作用。

    我试图在更改后杀死plist进程,但它不起作用。我刚刚重启了我的Mac,从那时起,我可以在需要时启动和停止Terminal或偏好窗格中的MySQL。

    有时,首选面板无法启动/停止MySQL。在这种情况下,我会在终端中输入启动/停止命令并运行。

    启动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/mysql-5.6.19-osx10.7-x86_64目录创建了一个/ usr/local/mysql /别名或符号链接。/usr/local/mysql/data目录(实际上是/usr/local/mysql/mysql-5.6.19-osx10.7-x86_64/data目录 - 记住,它是一个符号链接)是在哪里你的数据存在。

    您想要备份以前的数据目录。如果您在运行安装程序之前忘了备份它,并且您有Time Machine备份,则可以检索它。最简单的方法是打开/ usr/local /目录(在Finder中,从Go菜单中选择“Go to Folder”),并在Finder中打开/ usr/local /目录,从时间机器菜单中选择输入时间机器。回到之前已知的安装MySQL的日期。找到您以前的MySQL安装文件夹并打开数据目录。

    您必须从完全相同的时间点选择所有文件。你不能从一天中选择一个数据文件夹,从另一个日期中选择一个数据文件夹(我实际上是这样做的,花了很多时间试图弄清楚为什么我的一个数据表在Sequel Pro中可见,但不会工作)。过了一会儿,我终于明白,一切都必须来自完全相同的时间点。

    您可以在Time Machine中通过右键单击文件来复制文件。选择所有数据文件夹(包含其中的.ibd和.frm文件)加上所有ib_logfiles(ib_logfile0,ib_logfile1),auto.cnf和.pid文件。除mysql,performance_schema和test目录之外,基本上都复制mysql数据文件夹中的所有内容。

    退出时间机器。

    确保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设置工作。

+2

感谢,但是我刚跑须藤乔敦 - R的MySQL的:MySQL的在/ usr /本地/ mysql /下,然后数据重新启动服务器:) – Jon

+0

同@乔恩 须藤乔敦 - R的MySQL的:MySQL的在/ usr /本地/ MySQL /数据 帮助! – dumP