在通过Brew安装MySQL后,出现错误 – 服务器退出而不更新PID文件
好吧,我已经搜遍了,花了不less时间安装,卸载,尝试各种select,但没有成功。
我使用Mac OS X Lion(10.7.3),并试图设置Python,MySQL。
我通过HomeBrew成功安装了Python和MySQL。 Python很好用。
在MySQL安装之后,我按照前两个步骤 –  unset和mysql_install_db命令。 
现在,当我尝试启动mysql“mysql.server启动”,我得到以下错误
 ERROR! The server quit without updating PID file (/usr/local/var/mysql/Brajeshwar.local.pid). 
-   Brajeshwar是我的机器上的用户名。
  编辑2012年9月18日:正如凯恩所指出的 ,确保mysql数据库之前做任何其他正确的设置。 请参阅“ 在mysql.server启动PID错误?  “更多信息。 
  原来的答案保持历史的缘故:这很可能是一个权限问题。 检查/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/* 
 我发现这是mysql文件夹的权限问题。 
 chmod -R 777 /usr/local/var/mysql/ 
为我解决了它。
我在Mac 10.10.5优胜美地有这个问题
我做了什么来解决这个问题
 cd /usr/local/var/mysql 
 sudo rm *.err && sudo rm *.pid 
 sudo reboot 
 sudo mysql.server start 
2014年11月:如果您在Mac OS X Mavericks或Yosemite上的MySQL 5.6.x上发生此错误,并希望在本地使用MySQL(/tmp/mysql.sock是PHP PDO希望find该sock文件的位置),这里是固定的我:
1)取消注释默认的自制程序configuration文件行并编辑如下
 $ 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 .... 
BOXNAME是你在系统偏好设置 – >networking中作为networking上计算机的唯一ID。
2)设置mysql datadir中所有文件的权限。 这些都是由[my_username]所有。 MySQL对此非常挑剔,并拒绝创buildpid文件,除非(用户_mysql)拥有该目录。
 $ sudo chown -R _mysql:mysql /usr/local/var/mysql 
3)使用bash助手/包装脚本启动MySQL:
 $ sudo mysql.server start Starting MySQL . SUCCESS! 
希望有所帮助。 如果上述不起作用,请尝试在Cellar / mysql / VERSION_ / bin /目录下手动运行mysqld_safe二进制文件,并检查设置(如果运行的话)
 sudo /usr/local/Cellar/mysql/5.6.12/bin/mysqld_safe & 
如果运行,你可以
 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.cnfconfiguration文件选项。 您也可以使用命令行选项尝试手动启动mysqld时进行故障排除。
如果你运行pipe理使用mysqld_safe运行MySQL服务器,你可能必须这样做,closures它之前尝试mysql.server bash助手。 抵制杀死-9 [PID]的冲动,因为你可能会破坏你的数据。
 mysqladmin -uroot shutdown 
祝你好运!
我在OS X El Capitan上遇到了同样的问题,下面是为我修复的terminal命令序列。
删除错误文件(您将不得不根据您的设置更改path)
 sudo rm /usr/local/mysql/data/*.err 
find仍在运行的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 --force 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 chmod -R 777 /usr/local/var/mysql/ sudo /usr/local/mysql/support-files/mysql.server start 
如果我没有记错,这是一个权限问题。 尝试“touch”和“chmod”pid文件或文件所在的文件夹。
我的问题是,我作为sudo一次启动服务器,然后尝试作为本地用户重新启动。
这里mysql不能写入由root拥有的'.err'文件。 我必须删除该文件并重新启动服务器:
 sudo rm /usr/local/var/mysql/*.err mysql.server start 
这对我在10.12.2:
 $ rm /usr/local/var/mysql/*.err 
然后
 $ brew services restart mysql 
对我来说,它适用于:
 unset TMPDIR mysql_install_db --user=`whoami` --basedir="$(brew --prefix mariadb)" --datadir=/usr/local/var/mysql --tmpdir=/tmp 
我在Mac上遇到了与MySQL类似的问题(Mac OS X无法启动MySQL服务器,原因:255,也是“ERROR!服务器退出而没有更新PID文件”)。 经过漫长的试错过程,最后为了恢复文件权限,我只是这样做了:
 启动Disk Utilities.app 
 在左侧面板上select我的驱动器 
 点击“修复磁盘权限”button 
这为我做了诡计。 希望这可以帮助别人。
对我有效的是:
- 转到你的mysql安装目录
-  sudo chmod -R 777 data
- 然后回去一个目录
-  cd support-files/
-  sudo ./mysql.server start
之后,服务器开始运行。
但是这个方法的问题是每次我想现在启动mysql的时候我都要重复这个。 不知道为什么突然出现这样的行为。
这是文件权限问题。 检查磁盘权限和修复。
Osx => Cmd + Space =>磁盘实用程序=>validation磁盘权限。
修复磁盘权限后validation完成。 mysql.server启动命令工作成功。
 sudo chmod -R 777 /usr/local/var/mysql/ 
为我工作。
我遇到过同样的问题:
但情况是,每当我尝试input:
 /usr/local/mysql/support-files/mysql.server start 
 创build一个名为localhost.pid的文件,而不是在错误中声明的iMax0.local.pid : 
 ERROR! The server quit without updating PID file (/usr/local/mysql/data/iMax0.local.pid). 
 我的解决scheme是复制localhost.pid并将其重命名为iMax0.local.pid 。 
我在OSX El Capitan上的解决scheme是:
 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文件,默认情况下不需要,这是我不知道的。 祝你好运! 
 $ sudo mysql.server restart 
这个对我有用。
我有类似的问题。 但下面的命令救了我。
 cd /usr/local/Cellar sudo chown _mysql mysql 
 没有答案为我工作。 不过,我只是做了sudo mysql.server start ,它很好地工作。 
此外,对我来说,它没有显示* .err文件中的权限问题。
findusr / local / var / mysql / your_computer_name.local.err文件,并了解有关错误的更多信息
位置:/usr/local/var/mysql/your_computer_name.local.err
这可能是权限问题
- 查找mysql是否正在运行并杀死它
ps -ef | grep mysql
kill -9 PID
其中PID是第二列值2.检查mysql的所有权
ls -laF / usr / local / var / mysql /
 if it is owned by root, change it mysql or your user name 
sudo chown -R mysql / usr / local / var / mysql /
我在Linux上遇到了这个问题,但是原因与任何mysql安装都有关。 在我的情况下,服务器在启动完成之前崩溃,并且更新了pid文件。 当直接启动mysqld而不是通过“service mysql start”时,错误消息被看到。
 在我的情况下,原因是日志文件所在的分区已满。 删除日志文件允许mysql再次启动。 要testing这个问题,请转到您的mysql活动日志的位置,然后执行df .  。 
试试这个(Mac)
 第1步: ps -ax | grep mysql ps -ax | grep mysql 
然后杀死4位数的PID号码
 第二步: kill 1965 
 第3步: mysq.server start 
或者很难find这些PID号码,请尝试下面的内容
 再一步: ps -ax | grep mysql ps -ax | grep mysql 
 第二步: killall 
 再次步骤3: mysq.server start 
 从源代码安装时,请按照文件INSTALL-SOURCE的说明进行操作 
 安装说明在section 2.8中给出 
安装完后,用ps aux |检查mysql是否有进程运行 grep mysql
你会发现这样的
 root 1817 0.0 0.0 108336 1228 ? S Jan21 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mail.gaurav.local.pid mysql 2141 0.0 1.2 497660 24588 ? Sl Jan21 0:26 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/mail.gaurav.local.err --pid-file=/usr/local/mysql/data/mail.gaurav.local.pid --socket=/tmp/mysql.sock --port=3306 root 5659 0.0 0.0 103256 840 pts/13 S+ 11:30 0:00 grep mysql 
  kill所有与mysql有关的进程,然后尝试启动mysql服务器 
 首先mv -f /var/lib/mysql /var/lib/mysql.bak然后试试命令mysql_install_db --user=mysql --ldata=[destination]用数据目录replace目的地,之后用/etc/init.d/mysql restart