我正在尝试在mac os 10.6上使用Homebrew by brew安装MySQL 5.1.52。

一切都很顺利,我也成功地使用mysql_install_db。 然而,当我试图连接到服务器使用:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin -u root password 'mypass'

我得到:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin: connect to server at 'localhost' 
failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'

我尝试访问mysqladmin或mysql使用-u root - root以及, 但是有没有密码都不行。

这是全新机器上的全新安装,据我所知,新安装必须在没有根密码的情况下访问。我还试过:

/usr/local/Cellar/mysql/5.1.52/bin/mysql_secure_installation

但我也得到了

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

当前回答

我有同样的问题后,我试图重新启动mysql。

为了方便起见,我在.profile中使用了以下两个别名

alias mysql-stop='launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'
alias mysql-start='launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist' 

停止mysql后,然后尝试重新启动我遇到的问题,你有。我查看了launchctl加载,它报告了一个“nothing found to load”错误。

经过快速搜索,我找到了这个..

http://www.daveoncode.com/2013/02/01/solve-mac-osx-launchctl-nothing-found-to-load-error/

所以我更新了我的mysql-start别名如下

alias mysql-start='launchctl load -w -F ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'

这解决了我的问题,可能对你有用。

其他回答

如果brew安装了MySQL 5.7,这个过程与以前的版本有点不同。 重置root用户密码的操作步骤如下:

sudo rm -rf /usr/local/var/mysql
mysqld --initialize

临时密码将被打印到控制台,它只能用于更新根密码:

mysql.server start
echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'my-new-password';" | mysql -uroot --password=TEMPORARY_PASSWORD

尝试解决方案,我提供的MariaDB,高变化,它与MySQL的工作也:

MacOSX homebrew mysql root密码

简而言之,请尝试使用您的用户名登录!没有根。

尝试使用与MacOS帐户用户名相同的名称,例如johnsmit。

要以root用户登录,请执行以下命令:

mysql -u johnsmit

如果mysql已经安装

完全停止mysql。

mysql。服务器停止<——可能需要根据您的版本进行编辑 Ps -ef | grep mysql <——列出名称中包含mysql的进程 kill [PID] <——按PID终止进程

删除文件。上面的说明很好。我将添加:

Sudo find /。mysql - name“* *” 根据你的判断,rm -rf这些文件。请注意,许多程序都有mysql的驱动程序,您不想删除它们。例如,不要删除PHP安装目录中的内容。删除它自己的mysql目录中的东西。

安装

希望你有自制的。如果没有,请下载。

我喜欢以root用户运行brew,但我认为您不必这样做。编辑2018:你不能再以root用户运行brew了

Sudo brew更新 Sudo brew install cmake <——mysql的依赖关系,有用 Sudo brew install openssl <——依赖于mysql,有用 Sudo brew info mysql <—撇过这个…它让你知道接下来会发生什么 Sudo brew install mysql -with-embedded用嵌入式服务器安装mysql。告诉你什么时候完成(我的安装花了10分钟)

后来

sudo chown -R mysql /usr/local/var/mysql/ <——mysql不为我工作,直到我运行这个命令 sudo mysql。Server start <——同样,确切的语法可能有所不同 在mysql (http://dev.mysql.com/doc/refman/5.7/en/create-user.html)中创建用户。请记住为root用户添加密码。

当我使用最新版本的mysql和yosemite使用brew时,上面的答案(或者我在其他地方看到的几十个答案中的任何一个)都不适用。我最终通过brew安装了一个不同的mysql版本。

通过(例如)指定旧版本

brew install mysql56

为我工作。希望这能帮助到一些人。这是一个令人沮丧的问题,我觉得我永远被困住了。

博士TL;

MySQL服务器在安装Brew后可能无法运行。尝试brew services启动mysql或只启动mysql。如果您不希望MySQL作为后台服务运行,请启动服务器。

完整的故事:

我刚刚在一台运行Sierra的新MacBook Pro上安装了MySQL(稳定)5.7.17,在运行mysql_secure_installation时也得到了一个错误:

Securing the MySQL server deployment.

Enter password for user root: 
Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

你说什么?

根据Brew的安装信息,mysql_secure_installation应该会提示我…安装安全。我认为MySQL服务器可能没有运行,这是正确的。运行brew服务启动mysql,然后运行mysql_secure_installation。