在雪豹上启动MySQL时出错 原职
我刚刚删除并重新安装了雪豹。我安装了MySQL 5.1.48 64位清理。我的MySQL服务器有问题。。。当我启动计算机并登录时,服务器没有运行。我试图通过单击“启动MySQL服务器”使用首选项窗格启动它,但它所做的只是突出显示蓝色按钮并思考一分钟,然后按钮恢复正常,什么也没发生 然后我尝试从终端启动它:在雪豹上启动MySQL时出错 原职,mysql,sql,macos,osx-snow-leopard,Mysql,Sql,Macos,Osx Snow Leopard,我刚刚删除并重新安装了雪豹。我安装了MySQL 5.1.48 64位清理。我的MySQL服务器有问题。。。当我启动计算机并登录时,服务器没有运行。我试图通过单击“启动MySQL服务器”使用首选项窗格启动它,但它所做的只是突出显示蓝色按钮并思考一分钟,然后按钮恢复正常,什么也没发生 然后我尝试从终端启动它: Hristo$ sudo /usr/local/mysql/support-files/mysql.server start Starting MySQL ..................
Hristo$ sudo /usr/local/mysql/support-files/mysql.server start
Starting MySQL
.....................................................................
ERROR! Manager of pid-file quit without updating file.
所以我检查了状态:
Hristo$ sudo /usr/local/mysql/support-files/mysql.server status
Password:
/usr/local/mysql/support-files/mysql.server: line 418: pidof: command not found
ERROR! MySQL is not running
我试过这个:
Hristo$ /usr/local/mysql/bin/mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
所以我不知道该怎么办。当我第一次安装时,服务器正在工作,但我转到首选项窗格尝试停止它…同样的事情发生了…我单击“停止MysQL服务器”按钮,它做了一些思考,然后什么都没有。因此,我重新启动了计算机,现在我遇到了上述问题,显然,mysql.sock文件不再位于/tmp/中。它在我安装时就在那里,而在我重新启动计算机后就不在了
有什么想法吗
更新
这是我的/etc/my.cnf
文件
[client]
socket = /var/mysql/mysql.sock
[mysqld]
socket = /var/mysql/mysql.sock
更新2
在设置Apache、PHP和MySQL时,我遵循以下说明:现在,如果我删除MySQL配置文件,一切似乎都正常。但是当/etc/
中存在my.cnf
时,事情就不起作用了。MySQL版本是:
Hristo$ mysql --version
/usr/local/mysql/bin/mysql Ver 14.14 Distrib 5.1.46, for apple-darwin9.8.0 (i386) using readline 5.1
更新3
mysql.err:
100706 11:38:36 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
100706 11:38:36 [Warning] '--log' is deprecated and will be removed in a future release. Please use ''--general_log'/'--general_log_file'' instead.
100706 11:38:36 [Warning] '--log_slow_queries' is deprecated and will be removed in a future release. Please use ''--slow_query_log'/'--slow_query_log_file'' instead.
100706 11:38:36 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
100706 11:38:36 [Note] Plugin 'FEDERATED' is disabled.
100706 11:38:36 InnoDB: Started; log sequence number 0 69987
100706 11:38:36 [ERROR] Can't start server : Bind on unix socket: Permission denied
100706 11:38:36 [ERROR] Do you already have another mysqld server running on socket: /var/mysql/mysql.sock ?
100706 11:38:36 [ERROR] Aborting
100706 11:38:36 InnoDB: Starting shutdown...
100706 11:38:41 InnoDB: Shutdown completed; log sequence number 0 69987
100706 11:38:41 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
mysql.log:
/usr/local/mysql/bin/mysqld, Version: 5.1.46-log (MySQL Community Server (GPL)). started with:
Tcp port: 0 Unix socket: /var/mysql/mysql.sock
Time Id Command Argument
该文件应该在每次加载MySQL时重新创建,但有时权限会造成阻碍。尝试手动创建/tmp/mysql.sock 在linux上,命令为:
sudo touch/tmp/mysqld.sock
然后设置正确的所有者:
sudo chown mysql:mysql/tmp/mysqld.sock
我假设mac上的命令行是相同的。似乎有一条错误消息:
line 418: pidof: command not found
您是否安装了pidof
?说:
pidof只是指向killall5程序的(符号)链接,该程序也应位于/sbin中
可能符号链接不存在,或者您的Mac OS上没有安装killall5?
引用大卫·托霍夫的话:
我最初的猜测是mysqld没有更新/删除其pidfile的权限,可能还有一个剩余的pidfile需要手动删除。但是“伟大的调试正义”听起来太好了,不能错过 尝试将其作为的一部分安装。这将在不同的位置(Applications/MAMP/mysql以及apache等)安装mysql服务器。然后您可以使用小部件启动它。您还可以使用活动监视器(应用程序/实用程序)监视活动。此外: 删除:/Applications/MAMP/tmp/mysql/mysql.pid 重新启动确实经常有帮助
HTH我想您的my.cnf文件中有一个错误 尝试在[mysqld]部分下使用my.cnf文件或添加user、pid文件、port、basedir、datadir、tmpdir选项(这里引用linux机器上的基本mysqld设置,对于OS X可能会有所帮助)
使用快速安装方法安装自制软件包管理器 然后从终点站
brew安装mysql
并遵循安装后的简短说明列表
再次查看说明
brew信息mysql
如果安装了view homebrew,请重试
unset TMPDIR
mysql_install_db
我认为这些其他解决方案中的一些适用于其他人,但我有所有这些相同的症状(包括
第418行:pidof:command not found
问题),但我的根本原因略有不同
我有一个正在工作的
/etc/my.cnf
文件突然停止工作,所以我确信问题不是我的配置。结果是/usr/local/var/mysql/
下的一个子目录属于_mysql:staff,而它本该属于我。在运行chown-R'whoami'/usr/local/var/mysql/
之后,一切都被破坏了ht与世界联系。首先,你必须解锁pid进程。通过srvice mysql stop停止mysql
在输入该命令之后,它将显示两个sql的pid
kill-9PID 1PID 2
然后通过服务mysql start启动sql
以防其他人遇到这个恼人的问题
自制安装mysql,雪豹(最新更新)
确保您的/usr/local/var/mysql
和所有子目录都归当前用户所有
sudo chown -R <user> /usr/local/var/mysql
你的服务器永远不会启动。我相信MySql 5.5.x默认设置了这一点。请在my.cnf文件中注释这一行,然后重试
mysql.server start应该可以做到这一点。是的,命令是相同的。但是,这不起作用。我重新启动了,文件又不见了。我重新触摸它,重新浏览,然后尝试启动mysql…然后文件又不见了。请确保重新安装后myqsl配置文件仍然有效…对不起,有效是什么意思?JusI don’我不确定所有目录或路径都没有更改。我已经更改过几次了。pidof
没有手动输入。Hristo$man pidof没有手动输入pidof
。另外,/usr/bin
中有一个killall
,但/usr/sbin
中没有。如果您没有得到任何信息,请尝试哪个pidof
ing,这可能是原因。我不知道Killall 5(dis)有多大类似于killall以及它是否可以互换使用…哪个pidof
不返回任何内容。我将研究它是什么以及如何安装它。有什么建议吗?在我的Linux系统上,它似乎在一个包中sysvinit utils
:/bin/pidof;看看您是否有类似的包(不确定它是否在Mac OS中可用,但我认为应该是)。嗯,我不确定OS X安装是如何工作的,但这似乎是你要寻找的东西:你的/etc/my.cnf
?@Dan…我用内容更新了我的帖子
unset TMPDIR
mysql_install_db
sudo chown -R <user> /usr/local/var/mysql
default-character-set=utf8