在Snow Leopard上启动MySQL错误

Hri*_*sto 11 mysql sql macos osx-snow-leopard

原始邮政

我刚刚删除并重新安装了Snow Leopard.我安装了MySQL 5.1.48 64位清理.我遇到了MySQL服务器的问题......当我启动计算机并登录时,服务器没有运行.我尝试通过单击"启动MySQL服务器"使用首选项窗格启动它,但它所做的只是突出显示按钮蓝色并想一会儿,然后按钮恢复正常并且没有任何反应.

然后我尝试从终端启动它:

Hristo$ sudo /usr/local/mysql/support-files/mysql.server start
Starting MySQL
.....................................................................
ERROR! Manager of pid-file quit without updating file.
Run Code Online (Sandbox Code Playgroud)

所以我检查了状态:

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
Run Code Online (Sandbox Code Playgroud)

我试过这个:

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)
Run Code Online (Sandbox Code Playgroud)

所以我不知道该怎么做.当我第一次安装时,服务器正在工作,但我去了偏好窗格试图阻止它...同样的事情发生了...我点击了"停止MysQL服务器"按钮,它做了一些思考,然后什么都没有.所以我重新启动计算机,现在我遇到了上述问题,显然,mysql.sock文件不在/ tmp /中.我安装的时候就在那里,重新启动电脑后就不存在了.

有任何想法吗?

UPDATE

这是我的/etc/my.cnf档案.

[client]
socket = /var/mysql/mysql.sock

[mysqld]
socket = /var/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)

更新2

在设置Apache,PHP和MySQL时,我按照以下说明操作:http://superfancy.net/coding/php-mysql-apache-in-mac-osx-leopard/现在,如果删除MySQL配置文件,事情似乎很好.但是当my.cnf存在时/etc/,事情就不起作用了.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
Run Code Online (Sandbox Code Playgroud)

更新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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

Jed*_*der 16

使用快速安装方法http://github.com/mxcl/homebrew安装自制软件包管理器

然后从终端

brew install mysql

并按照安装后的简短说明列表进行操作

再次看到说明

brew info mysql

  • 我使用自制软件安装,但仍然得到与问题提问者相同的错误消息.我意识到我没有从`brew info mysql`运行"设置数据库:( 1)取消设置TMPDIR(2)mysql_install_db"的步骤...运行这两个命令后,MySQL将启动,然后我跟着它`/ usr/local/Cellar/mysql/5.1.55/bin/mysql_secure_installation`来保护安装. (2认同)

Unr*_*son 5

我认为你的my.cnf文件中有错误.

尝试使用my.cnf文件中的一个或在[mysqld]部分下添加用户,pid文件,端口,basedir,datadir,tmpdir的选项(这里是linux机器上基本mysqld设置的引用,对于OS X也许这个会有所帮助)

[mysqld]
#
# * Basic Settings
#

user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
skip-external-locking

#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 127.0.0.1
Run Code Online (Sandbox Code Playgroud)