在通过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

这为我做了诡计。 希望这可以帮助别人。

对我有效的是:

  1. 转到你的mysql安装目录
  2. sudo chmod -R 777 data
  3. 然后回去一个目录
  4. cd support-files/
  5. 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

这可能是权限问题

  1. 查找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