在Mac OS X v10.6 (Snow Leopard)上,启动MySQL会出现以下错误:

服务器退出,没有更新PID文件

文件my.cnf

[mysqld]
port            = 3306

socket          = /tmp/mysql.sock

skip-external-locking

key_buffer_size = 16K

pid-file=/var/run/mysqld/mysqld.pid

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

当前回答

在Mac OS X v10.9 (Mavericks)上,这个脚本帮助了我:

bash <(curl -Ls http://git.io/eUx7rg)

然后我重置我的密码根据错误1045(28000):访问拒绝用户'root'@'localhost'(使用密码:YES)。

其他回答

简单的…

修复2002年MySQL套接字错误。

修复了即将出现的2002套接字错误-连接MySQL放置套接字的位置和OS X认为它应该在的位置。MySQL把它放在/tmp目录下,而OS X在/var/ MySQL目录下查找套接字是一种允许MySQL客户端/服务器通信的文件。

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

做得好:)这对我帮助很大!

我从http://coolestguidesontheplanet.com/上的人那里得到了这个指南

请按照brew install mysql的说明安装mysql。

设置数据库以您的用户帐户运行:

对于MySQL 5.x:

unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

要在另一个文件夹中设置基表,或者使用不同的用户运行mysqld,请查看mysqld_install_db的帮助:

mysql_install_db --help

查看MySQL文档:

4.4.3 mysql_install_db -初始化MySQL数据目录 2.10.4 MySQL初始帐户安全

对于MySQL 8.x:

unset TMPDIR
mysqld --initialize-insecure --log-error-verbosity --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

确保上面的数据目录/usr/local/var/mysql为空。必要时备份。

例如,要以“mysql”用户运行,你可能需要sudo:

sudo mysql_install_db ...options...

手动启动mysqld:

mysql.server start

注意:如果失败,您可能忘记运行上面的前两个步骤

我的错误文件还告诉我,端口可能正在被另一个进程使用,但只是运行sudo mysql。服务器启动修复了我的问题。

这是macOS中MySQL数据库最简单的“PID”错误解决方案:

执行如下命令:

$ sudo mysql.server start
Starting MySQL
.. SUCCESS! 

使用此命令访问数据库:

$ mysql -u root

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 8.0.31 Homebrew

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
Database
information_schema
mysql
performance_schema
sys
4 rows in set (0.00 sec)

对我来说,我必须重新安装MySQL:

brew reinstall mysql

然后按下面的命令启动MySQL,在登录时重新启动:

brew services start mysql