好的,我已经搜遍了所有的时间并花了很多时间安装,卸载,尝试各种选项但没有成功。
我使用的是Mac OS X Lion(10.7.3),我正在尝试设置Python,MySQL。
我通过HomeBrew成功安装了Python和MySQL。 Python效果很好。
安装MySQL之后,我按照前两个步骤 - unset和mysql_install_db
命令。
现在,当我尝试启动mysql“mysql.server start”时,我收到以下错误
ERROR! The server quit without updating PID file (/usr/local/var/mysql/Brajeshwar.local.pid).
Brajeshwar
是我机器上的用户名。答案 0 :(得分:93)
我发现这是mysql
文件夹的权限问题。
chmod -R 777 /usr/local/var/mysql/
为我解决了。
答案 1 :(得分:70)
编辑2012/09/18:
作为pointed out by Kane,确保在执行任何其他操作之前正确设置了mysql
数据库。有关详细信息,请参阅“PID error on mysql.server start?”。
原始答案保留了历史记录:
很可能 是权限问题。检查/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/*
答案 2 :(得分:45)
我最终完全重新安装了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!
答案 3 :(得分:28)
我在Mac 10.10.5 Yosemite上遇到过这个问题
我做了什么来解决这个问题
cd /usr/local/var/mysql
sudo rm *.err && sudo rm *.pid
sudo reboot
sudo mysql.server start
答案 4 :(得分:18)
2014年11月:如果您在Mac OS X Mavericks或Yosemite上的MySQL 5.6.x上出现此错误,并希望在本地使用MySQL和PHP(/ tmp / mysql.sock是PHP PDO期望找到的地方袜子文件),这是我修复它的原因:
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
....
BOXNAME就是您的系统首选项中的内容 - &gt;网络作为网络上计算机的唯一ID。
2)设置mysql datadir中所有文件的权限。这些都归[my_username]所有。 MySQL非常挑剔并且拒绝创建pid文件,除非它(用户_mysql)拥有该目录。
$ sudo chown -R _mysql:mysql /usr/local/var/mysql
3)使用bash helper / wrapper脚本启动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.cnf配置文件选项。您也可以使用命令行选项在手动启动mysqld时尝试进行故障排除。
如果你运行使用mysqld_safe管理运行MySQL服务器,你可能必须这样做才能在尝试使用mysql.server bash helper之前将其关闭。抵制杀死-9 [PID]的冲动,因为你可以破坏你的数据。
mysqladmin -uroot shutdown
祝你好运!
答案 5 :(得分:16)
我在OS X El Capitan上遇到了同样的问题,这是为我修复它的终端命令序列。
删除错误文件(您必须根据设置更改路径)
sudo rm /usr/local/mysql/data/*.err
找到仍在运行的mysql进程的信息并将其终止:
ps -A | grep -m1 mysql | awk '{print $1}' | sudo xargs kill -9
现在重启MySQL:
/usr/local/mysql/support-files/mysql.server start
答案 6 :(得分:10)
这对我有用:
sudo chmod -R 777 /usr/local/var/mysql/
sudo /usr/local/mysql/support-files/mysql.server start
答案 7 :(得分:3)
我的问题是我将服务器作为sudo启动了一次,然后尝试以本地用户身份重新启动。
这里mysql无法写入&#39; .err&#39; root拥有的文件。 我不得不删除该文件并重新启动服务器:
sudo rm /usr/local/var/mysql/*.err
mysql.server start
答案 8 :(得分:3)
这对我来说在10.12.2:
$ rm /usr/local/var/mysql/*.err
然后
$ brew services restart mysql
答案 9 :(得分:3)
如果我没记错,这是一个权限问题。尝试“触摸”和“chmod”pid文件或文件所在的文件夹。
答案 10 :(得分:2)
我在Mac上遇到类似的MySQL问题(Mac OS X无法启动MySQL服务器。原因:255并且“错误!服务器退出而不更新PID文件”)。经过长时间的试错过程,最后为了恢复文件权限,我只是这样做:
启动Disk Utilities.app
选择左侧面板上的驱动器
单击“修复磁盘权限”按钮
这对我有用。希望这可以帮助别人。
答案 11 :(得分:1)
对我有用的是:
sudo chmod -R 777 data
cd support-files/
sudo ./mysql.server start
之后服务器开始运行。
但是这个方法的问题是我每次想要启动mysql时都要重复这个。不知道为什么它突然开始表现得这样。
答案 12 :(得分:1)
关键点是检查.err文件,默认情况下,在Mac OS X上,该文件位于/usr/local/var/mysql
中。
该日志文件向我显示我必须删除以下文件:
ibdata1
ib_logfile0
ib_logfile1
此后,使用mysql.start
运行MySQL可以成功进行。请注意,删除这些文件可能会导致数据丢失。
答案 13 :(得分:1)
试试这个(OSX)
第1步:
sum()
然后终止4位数PID
第2步:ps -aux | grep mysql
第3步:kill 1965
或者很难找到这些PID号,请尝试以下
第1步:mysql.server start
第二步:ps -aux | grep mysql
第3步:killall
答案 14 :(得分:1)
查找usr / local / var / mysql / your_computer_name.local.err文件并了解有关错误的更多信息
位置:/usr/local/var/mysql/your_computer_name.local.err
可能是权限问题
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 /
答案 15 :(得分:1)
对我来说,它适用于:
unset TMPDIR
mysql_install_db --user=`whoami` --basedir="$(brew --prefix mariadb)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
答案 16 :(得分:0)
我在Linux上遇到过这个问题,但原因与任何mysql安装有关。在我的情况下,服务器在启动完成和pid文件更新之前崩溃。直接启动mysqld而不是通过“service mysql start”时会看到错误消息。
就我而言,原因是日志文件所在的分区已满。删除日志文件允许mysql重新启动。要测试此问题,请转到mysql活动日志的位置,然后执行df .
。
答案 17 :(得分:0)
实际上已经显示了此错误,因为mysql已经启动。尝试通过以下方式查看当前状态:
mysql.server status
答案 18 :(得分:0)
这是文件权限问题。 检查磁盘权限并进行修复。
Osx =&gt; Cmd + Space =&gt; Disk Utilty =&gt;验证磁盘权限。
在修复磁盘权限后验证已完成。 mysql.server启动命令是成功的。
答案 19 :(得分:0)
使用sudo chown -R _mysql:_mysql /usr/local/var/mysql
解决了此问题
感谢Matteo Alessani
答案 20 :(得分:0)
发生这种情况是因为我实际上是从MariaDB切换到Mysql。 切换回MariaDB解决了这个问题。
我猜想现有数据库不兼容。
答案 21 :(得分:0)
请检查日志,您将获得更多详细信息。
使用以下命令跟踪错误日志
tail -100 /usr/local/var/mysql/<user_name>.local.err
对我来说,目录之一丢失了,一旦创建服务器就启动了。
答案 22 :(得分:0)
以上所有解决方案均不适用于我。 但他们为我提供了一些纠正此错误的线索。
mysql.server start ---- error服务器退出而不更新PID文件
我在Macbook mojave上使用自制软件安装了mysql@5.7
简单安装mysql@5.7
mysql错误日志位于/usr/local/var/mysql/IU.lan.err中,其中只有一行: 无法打开和锁定特权表:表“ mysql.user”不存在
在goole搜索引擎中尝试了很多帖子后,我转向了百度 https://blog.csdn.net/xhool/article/details/52398042 受这篇文章的启发,我找到了解决方案:
rm / usr / local / var / mysql / *
mysqld-初始化
root用户的随机密码将以bash显示。 但是命令mysql -uroot -p [theRandomPassword]无法工作。因此我必须重置密码。 创建具有这样内容的初始化文件
为'root'@'localhost'设置密码= PASSWORD('MyNewPass');
将其放置在易于找到的任何目录中,例如桌面
mysqld --init-file = [YourInitFile]&
许多日志显示在屏幕上。
mysql -uroot -pMyNewPass
享受您的高版本mysql!
答案 23 :(得分:0)
如果您已将mysql安装升级到8.x,请检查upgradation是否支持您的先前版本。
如果没有,mysql将无法工作!卸载mysql以及/usr/local/var/mysql
中的所有配置文件(删除整个文件夹)。重新安装mysql。
注意:重新安装可能会导致数据丢失。
答案 24 :(得分:0)
sudo chmod -R 777 /usr/local/var/mysql/
适合我。
答案 25 :(得分:0)
我在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
文件,默认情况下不需要,我也不知道。祝你好运!
答案 26 :(得分:0)
我有同样的问题:
但情况是,每次我尝试进入:
/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
。
答案 27 :(得分:0)
这些答案都不适合我。但是,我只是做了sudo mysql.server start
并且效果很好。
另外,对我来说,它没有在* .err文件中显示权限问题。
答案 28 :(得分:0)
$ sudo mysql.server restart
它对我有用。
答案 29 :(得分:0)
我有类似的问题。但以下命令救了我。
cd /usr/local/Cellar
sudo chown _mysql mysql
答案 30 :(得分:-2)
从源代码安装时,请按照文件INSTALL-SOURCE
在section 2.8
安装完成后,检查是否有运行mysql的进程 与ps aux | 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服务器
答案 31 :(得分:-3)
首先mv -f /var/lib/mysql /var/lib/mysql.bak
并尝试使用mysql_install_db --user=mysql --ldata=[destination]
命令将目标替换为数据目录,然后使用/etc/init.d/mysql restart
启动MySQL