我知道存在类似的问题,例如MySQL with MAMP does not work with OSX Yosemite 10.10。但是,我确实在我的电脑上安装了MAMP,也没有安装XAMPP。
当我尝试从PrefPane启动mySQL时,没有任何反应。
当我尝试通过sudo /usr/local/mysql/support-files/mysql.server start
从命令行启动mqSQL时,我得到:
Starting MySQL . ERROR! The server quit without updating PID file
(/usr/local/mysql/data/adamg.local.pid).
任何和所有帮助将不胜感激。我可以提供任何必要的文件输出。
答案 0 :(得分:75)
打开终端:
检查MySQL系统首选面板,如果它显示“警告,/ usr / local / mysql / data不属于'mysql'或'_mysql'
如果是,请转到mysql文件夹 cd / usr / local / mysql
做一个 sudo chown -R _mysql data /
这将改变/ usr / local / mysql / data及其所有内容的所有权,以便用户'_mysql'
检查MySQL系统首选面板,它应该说它现在正在运行,自动神奇。如果不重新开始。
另一种确认方法是做
netstat -na | grep 3306
应该说:
tcp46 0 0 *.3306 *.* LISTEN
要查看mysqld的进程所有者和进程ID:
ps aux | grep mysql
答案 1 :(得分:60)
长话短说,你需要创建一个启动文件。所以,从终端:
sudo vi /Library/LaunchDaemons/com.mysql.mysql.plist
(如果您不熟悉vi,请按 i 开始插入文本)
这应该是您文件的内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true />
<key>Label</key>
<string>com.mysql.mysqld</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/mysql/bin/mysqld_safe</string>
<string>--user=mysql</string>
</array>
</dict>
</plist>
按 esc 然后: w q ! 输入< / KBD>
然后,您需要为文件提供正确的权限,并将其设置为在启动时加载。
sudo chown root:wheel /Library/LaunchDaemons/com.mysql.mysql.plist
sudo chmod 644 /Library/LaunchDaemons/com.mysql.mysql.plist
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
就是这样。
答案 2 :(得分:34)
在我的情况下,我修改了一些权限更改:
sudo chown -R _mysql:_mysql /usr/local/var/mysql
sudo mysql.server start
我希望它可以帮助其他人......
注意:根据Mert Mertin评论:
对于el capitan,它是sudo chown -R _mysql:_mysql / usr / local / var / mysql
答案 3 :(得分:26)
通过安装最新的mySQL版本解决,遵循此处http://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/
的说明 修改强>
随着约塞米蒂越来越受欢迎,越来越多的人在这个问题上磕磕绊绊。上面的答案与升级MySQL有关,因此它运行。 @doc在评论中链接的答案与让MySQL自动启动有关。这是两个不同的问题。
答案 4 :(得分:7)
从命令行执行以下命令...
sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
然后使用
启动mysql服务器sudo /usr/local/mysql/support-files/mysql.server start
答案 5 :(得分:5)
.pid是运行的mysql服务器实例的processid。它在mysql运行时出现在数据文件夹中,并在mysql关闭时自行删除。
如果OSX操作系统升级且mysql在升级之前未正确关闭,则mysql在启动时退出,因为.pid文件而退出。
您可以尝试一些技巧,http://coolestguidesontheplanet.com/mysql-error-server-quit-without-updating-pid-file/无法重新安装这些技巧。
答案 6 :(得分:5)
您只需要创建用户mysql
(mysql安装脚本创建_mysql)
sudo vipw
包含_mysql
将重复的行_mysql
更改为mysql
sudo /usr/local/mysql/support-files/mysql.server start
Starting MySQL
.. SUCCESS!
答案 7 :(得分:3)
重新安装修复它,因为安装程序创建了一个新的MySQL实例,而/ usr / local / mysql的符号链接现在指向一个没有现有pid的数据目录。
值得注意的是,mysql prefpane和mysql.server脚本使用pid的主机名,因此更改主机名可能会导致问题。
虽然prefpane已经过时,但即使自动启动功能不起作用,它也是启动/停止MySQL的一个很好的GUI。
我采用了混合方法,我已经调整了MySQL安装脚本以使用Launchd来自动启动MySQL,但plist实际上调用了mysql.server脚本。这样prefpane仍可用于按需启动/停止MySQL,并且尝试进行简单的MySQL重启不会太令人困惑。
这是一个脚本,它只是在已经安装了MySQL的Yosemite上启用此Launchd行为: https://raw.githubusercontent.com/MacMiniVault/Mac-Scripts/master/mmvMySQL/YosemiteLaunchd.sh
以下是处理MySQL整个自动安装的脚本: https://raw.githubusercontent.com/MacMiniVault/Mac-Scripts/master/mmvMySQL/mmvmysql.sh
答案 8 :(得分:2)
如果您尝试安装新版本,有时会错过以前的数据..请在您的终端中使用以下内容,我保证mySql将立即开始运行..
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start
请记住,它会询问您的机器密码而不是mysql密码..
答案 9 :(得分:2)
我在Mac上遇到类似的MySQL问题(Mac OS X无法启动MySQL服务器。原因:255并且“错误!服务器退出而不更新PID文件”)。经过长时间的试错过程,最后为了恢复文件权限,我只是这样做:
*启动Disk Utilities.app
*在左侧面板上选择我的驱动器
*单击“修复磁盘权限”按钮
这对我有用。
希望这可以帮助别人。
答案 10 :(得分:1)
你想修复它可以用TextEdit编辑文件“/ Applications / XAMPP / xamppfiles / xampp”。
查找文本“$ XAMPP_ROOT / bin / mysql.server start&gt; / dev / null&amp;”
并在其上添加“unset DYLD_LIBRARY_PATH”。它应该看起来像:
取消设置DYLD_LIBRARY_PATH
$ XAMPP_ROOT / bin / mysql.server start&gt; / dev / null&amp;
希望可以帮到你
答案 11 :(得分:1)
以上都没有工作..但安装新版本的MySQL可以解决问题。
答案 12 :(得分:1)
最简单的方法:将其复制并粘贴到终端(但请务必先阅读更多内容):
bash <(curl -Ls http://git.io/eUx7rg)
这将自动安装和配置所有内容。该脚本由MacMiniVault提供,可在Github上获得。有关http://www.macminivault.com/mysql-yosemite/上的mySQL安装脚本的更多信息。
答案 13 :(得分:1)
试试这个:
sudo mysqld_safe &
答案 14 :(得分:0)
2个步骤解决了我的问题:
1)删除&#34; /Library/LaunchDaemons/com.mysql.mysql.plist"
2)重启Yosemite
答案 15 :(得分:0)
我通常通过输入
来启动mysql服务器$ mysql.server start
没有sudo。但是错误的是我在命令之前键入sudo。现在我必须删除错误文件以启动服务器。
$ sudo rm /usr/local/var/mysql/`hostname`.err
答案 16 :(得分:0)
我的Mac决定随机重启;造成一大堆错误。其中一个是mysql拒绝正常启动。我经历了许多SO问题/答案以及其他网站。
最终解决 MY 问题的原因是:
1)创建文件(/usr/local/mysql/data/.local.pid
2)该文件上的chmod 777
3)执行mysql.server start(我的是 位于/ usr / local / bin / mysql.server)
答案 17 :(得分:0)
同样的事发生在我身上!所以我在终止正在运行的mysql应用程序之后再次尝试启动,这很有效!