我正在尝试使用Brew安装mysql 5.1.52的Homebrew在mac os 10.6上设置MySQL.
一切顺利,我也成功使用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)'
我也尝试使用-u root -proot访问mysqladmin或mysql,
但无论是否有密码都无效.
这是在全新机器上的全新安装,据我所知,必须可以在没有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,最终可能会处于这个位置.我遇到了同样的问题,上述解决方案都没有对我有用.我这样解决了:
二手brew’s remove&清理命令,卸载了launchctl脚本,然后删除了/usr/local/var中的mysql目录,删除了我现有的/etc/my.cnf(请保留那个,如果它适用)和launchctl plist
更新了plist的字符串.另请注意,您的备用安全脚本目录将基于您要安装的MySQL版本.
一步步:
brew remove mysql
brew cleanup
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /usr/local/var/mysql
然后我从头开始:
>用brew install mysql安装mysql
>运行brew建议的命令:(见下面注释)
unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
>使用mysql.server启动命令启动mysql,以便能够登录它
>使用备用安全脚本:
/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
>按照brew包脚本输出中的launchctl部分,如,
#start
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
#stop
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
>轰隆隆.
希望有人帮助!
注意:brew清理中的–force位也会清理过时的桶,认为这是一个新的自制功能.
请注意第二个:评论者说不需要第2步.我不想测试它,所以YMMV!