在通过Brew安装MySQL之后,我得到了一个错误-服务器在不更新PID文件的情况下退出

在通过Brew安装MySQL之后,我得到了一个错误-服务器在不更新PID文件的情况下退出,mysql,homebrew,Mysql,Homebrew,好的,我已经搜索了所有地方,花了相当多的时间安装、卸载、尝试各种选项,但都没有成功 我在Mac OS X Lion(10.7.3)上,正在尝试安装Python和MySQL 我通过自制成功安装了Python和MySQL。 Python工作得很好 安装MySQL之后,我遵循了前两个步骤-unset和MySQL\u install\u db命令 现在,当我尝试启动mysql“mysql.server start”时,我得到以下错误 ERROR! The server quit without upda

好的,我已经搜索了所有地方,花了相当多的时间安装、卸载、尝试各种选项,但都没有成功

我在Mac OS X Lion(10.7.3)上,正在尝试安装Python和MySQL

我通过自制成功安装了Python和MySQL。 Python工作得很好

安装MySQL之后,我遵循了前两个步骤-unset和
MySQL\u install\u db
命令

现在,当我尝试启动mysql“mysql.server start”时,我得到以下错误

ERROR! The server quit without updating PID file (/usr/local/var/mysql/Brajeshwar.local.pid).
  • Brajeshwar
    是我机器上的用户名

如果我没记错的话,这是一个权限问题。尝试“触摸”和“chmod”pid文件或保存该文件的文件夹。

编辑2012/09/18: 同样,在执行任何其他操作之前,请确保正确设置了
mysql
数据库。有关详细信息,请参阅“”

出于历史原因保留原始答案: 很可能是权限问题。检查
/usr/local/var/mysql/*.err
。我的朋友说:

120314 16:30:14  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
120314 16:30:14 mysqld_safe mysqld from pid file /usr/local/var/mysql/janmoesen.local.pid ended
我还必须这样做:

sudo chown _mysql /usr/local/var/mysql/*
对我来说,它与:

unset TMPDIR
mysql_install_db --user=`whoami` --basedir="$(brew --prefix mariadb)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

我发现这是mysql文件夹的权限问题

chmod -R 777 /usr/local/var/mysql/ 

为我解决了这个问题。

2014年11月:如果您在Mac OS x Mavericks或Yosemite上的MySQL 5.6.x上遇到此错误,并且希望在本地将MySQL与PHP结合使用(/tmp/MySQL.sock是PHP PDO希望找到sock文件的地方),下面是为我修复此错误的方法:

1) 取消对默认自制配置文件行的注释,并按如下所示进行编辑

$ sudo vi /usr/local/Cellar/mysql/5.6.21/my.cnf
...
basedir = /usr/local/Cellar/mysql/5.6.21
datadir = /usr/local/var/mysql
port = 3306
server_id = <UNIQUE_NUMBER_HERE_OR_LEAVE_COMMENTED_OUT>
socket = /tmp/mysql.sock
pid-file = /usr/local/var/mysql/[BOXNAME].local.pid
....
3) 使用bash helper/wrapper脚本启动MySQL:

$ sudo mysql.server start
Starting MySQL
. SUCCESS! 
希望有帮助。如果上述方法不适用于您,请尝试在ceral/mysql/VERSION\ubin/目录中手动运行mysqld\u安全二进制文件,并检查设置(如果运行)

如果那样的话,你可以

ps aux | grep mysql 
看到了吗

[username]  6881   0.0  2.7  3081392 454836   ??  S     8:52AM   0:00.54 /usr/local/Cellar/mysql/5.6.21/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.6.21 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.6.21/lib/plugin --verbose --log-error=/usr/local/var/mysql/BOXNAME.local.err --pid-file=/usr/local/var/mysql/BOXNAME.local.pid
我不知道为什么这对我有效,但它显示了我从哪里获得my.cnf配置文件选项。手动启动mysqld时,您还可以使用命令行选项尝试进行故障排除

如果您确实使用mysqld_safe运行manage来运行MySQL服务器,那么在尝试MySQL.server bash帮助程序之前,您可能必须先关闭它。抵制杀死-9[PID]的冲动,因为这样会损坏数据

mysqladmin -uroot shutdown

祝你好运

我的问题是,我曾经以sudo的身份启动服务器,然后尝试以本地用户的身份重新启动

这里mysql无法写入root拥有的“.err”文件。 我必须删除该文件并重新启动服务器:

sudo rm /usr/local/var/mysql/*.err
mysql.server start

我在Mac上的MySQL也遇到了类似的问题(Mac Os X无法启动MySQL服务器。原因:255和“错误!服务器在不更新PID文件的情况下退出”)。经过漫长的试错过程,最后为了恢复文件权限,我只做了以下操作:

启动磁盘实用程序。应用程序
在左侧面板上选择我的驱动器
单击“修复磁盘权限”按钮


这对我起了作用。希望这能帮助其他人。

这是文件权限问题。 检查磁盘权限并修复

Osx=>Cmd+Space=>Disk Utilty=>验证磁盘权限。

修复磁盘权限后验证已完成。 mysql.server启动命令工作成功

sudo chmod -R 777 /usr/local/var/mysql/
对我有效。

这对我有效:

sudo chmod -R 777 /usr/local/var/mysql/
sudo /usr/local/mysql/support-files/mysql.server start

我在mac 10.10.5 Yosemite上遇到过这个问题

我做了什么来解决这个问题

cd/usr/local/var/mysql

sudo rm*.err&&sudo rm*.pid

sudo重启

sudo mysql.server start

我遇到了同样的问题:

但情况是,每次我试图进入:

/usr/local/mysql/support-files/mysql.server start
创建名为
localhost.pid
的文件,而不是错误中说明的
iMax0.local.pid

ERROR! The server quit without updating PID file (/usr/local/mysql/data/iMax0.local.pid).

对我有效的解决方案是复制
localhost.pid
并将其重命名为
iMax0.local.pid

,我遇到了类似的问题。但是下面的命令救了我

cd /usr/local/Cellar
sudo chown _mysql mysql

我对OSX El Capitan的解决方案是:

sudo chmod ugo+w /tmp
它突然坏了

错误是:

ERROR! The server quit without updating PID file
日志显示:

Can't start server : Bind on unix socket: Permission denied

请注意,在OSX下,默认情况下没有
my.cnf
文件,默认情况下也不需要,这一点我不知道。祝你好运

我在OS X El Capitan上也遇到了同样的问题,下面是为我解决这个问题的终端命令序列

删除错误文件(您必须根据设置更改路径)

找到仍在运行的mysql进程的信息并将其杀死:

ps -A | grep -m1 mysql | awk '{print $1}' | sudo xargs kill -9
现在重新启动MySQL:

/usr/local/mysql/support-files/mysql.server start

我最终完全重新安装了mysql,它终于成功了

警告这将删除所有数据库,因此请确保先保存转储

brew remove mysql
brew cleanup
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /usr/local/var/mysql

brew install mysql
mysqld --initialize --explicit_defaults_for_timestamp
mysql.server start # no sudo!

它适合我。

适合我的是:

  • 转到mysql安装目录
  • sudo chmod-R 777数据
  • 然后返回一个目录
  • cd支持文件/
  • sudo./mysql.server start
  • 之后,服务器开始运行


    但是这个方法的问题是,每次我现在想启动mysql时,我都必须重复这个步骤。不知道为什么它突然变成这样

    没有一个答案对我有用。不过,我只是简单地启动了sudomysql.server,效果很好


    另外,对我来说,它没有在*.err文件中显示权限问题。

    这在10.12.2上对我有效:

    $ rm /usr/local/var/mysql/*.err
    
    然后


    查找usr/local/var/mysql/your_computer_name.local.err文件,了解有关错误的更多信息

    位置:/usr/local/var/mysql/your\u computer\u name.local.err

    可能是权限问题

  • 查找mysql是否正在运行并将其杀死
  • ps-ef | grepMySQL

    杀死-9 PID

    其中,PID是第二列值 2.检查mysql的所有权

    ls-laF/usr/local/var/mysql/

    sudo chown-R mysql/usr/local/v
    /usr/local/mysql/support-files/mysql.server start
    
    brew remove mysql
    brew cleanup
    launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    sudo rm -rf /usr/local/var/mysql
    
    brew install mysql
    mysqld --initialize --explicit_defaults_for_timestamp
    mysql.server start # no sudo!
    
    $ sudo mysql.server restart
    
    $ rm /usr/local/var/mysql/*.err
    
    $ brew services restart mysql
    
    if it is owned by root, change it mysql or your user name
    

    
    tail -100 /usr/local/var/mysql/<user_name>.local.err
    
    ibdata1
    ib_logfile0
    ib_logfile1
    
    mysql.server status