我正在尝试在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)

当前回答

我也有同样的问题。似乎设置指令或正在创建的初始表有问题。这就是我在我的机器上运行mysqld的方式。

如果mysqld服务器已经在你的Mac上运行,首先用以下命令停止它:

启动ctl卸载-w ~/图书馆/LaunchAgents/com.mysql mysqld.plist

使用以下命令启动mysqld服务器,允许任何人以完全权限登录。

mysqld_safe——skip-grant-tables

然后运行mysql -u root,现在应该可以让你成功登录,无需密码。下面的命令应该重置所有的root密码。

更新mysql。SET Password ('NewPassword') WHERE user ='root';冲洗特权;

现在,如果你关闭了mysqld_safe的运行副本,并在没有skip-grant-tables选项的情况下重新启动它,你应该可以使用mysql -u root -p和你刚刚设置的新密码登录。

其他回答

删除/opt/homebrew/var/mysql就可以了。显然有mysql数据(包括密码),所以上述所有操作都是徒劳的。

Mysql的“Base-Path”存储在/etc/my.cnf中,当你进行升级时,它不会更新。只需打开它并更改basedir值

例如,修改如下:

[mysqld]
basedir=/Users/3st/homebrew/Cellar/mysql/5.6.13

指向新版本:

[mysqld]
basedir=/Users/3st/homebrew/Cellar/mysql/5.6.19

重新启动mysql:

mysql.server start

我有同样的问题后,我试图重新启动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'

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

我刚才也遇到了同样的问题。如果你酿造信息mysql,并按照步骤,它看起来像根密码应该是new-password,如果我没记错的话。我看到的和你看到的一样。这篇文章对我帮助最大。

结果发现我没有为自己创建任何账户。当我登录后运行mysqld_safe和做选择*从用户;没有返回任何行。我打开mysqld_safe运行的MySQLWorkbench,并添加了一个根帐户和我所期望的所有privs。这对我来说很有效。

好吧,我也遇到过同样的问题,但我已经解决了。由于某种原因,mysql_secure_installation脚本在使用Homebrew安装mysql时不能开箱即用,所以我手动安装了。在CLI中输入:

mysql -u root

这样你就可以进入mysql了。现在执行以下操作(取自mysql_secure_installation):

UPDATE mysql.user SET Password=PASSWORD('your_new_pass') WHERE User='root';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'
DROP DATABASE test;
FLUSH PRIVILEGES;

现在退出并返回mysql: mysql -u root -p