我正在尝试在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,就会出现这种情况。我也遇到了同样的问题,上面的解决方案对我都不起作用。我是这样安排的:
使用brew的remove & cleanup命令,卸载launchctl脚本,然后删除mysql目录在/usr/local/var,删除我现有的/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
然后我从头开始:
installed mysql with brew install mysql
ran the commands brew suggested: (see note: below)
unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
Start mysql with mysql.server start command, to be able to log on it
Used the alternate security script:
/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
Followed the launchctl section from the brew package script output such as,
#start
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
#stop
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
注意:啤酒清理的——force位也会清理过时的酒桶,这是一个新的自制啤酒功能。
注意第二点:一个评论者说第二步不是必需的。我不想测试它,所以是YMMV!
如果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用户添加密码。
下面是Sedorner上面写的关于如何从你的Mac上删除所有MySQL,然后用Brew Way安装它的详细说明:
根据技术实验室完全删除MySQL
ps -ax | grep mysql
stop and kill any MySQL processes
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/var/mysql
sudo rm -rf /usr/local/mysql*
sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
edit /etc/hostconfig and remove the line MYSQLCOM=-YES-
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*
sudo rm -rf /tmp/mysql*
try to run mysql, it shouldn't work
从这个StackOverflow的答案酿造安装MySQL每用户Sedorner
酿造医生和修复任何错误
Brew remove mysql
啤酒清理
酿造更新
安装mysql
设置TMPDIR
Mysql_install_db——verbose——user= ' whoami '——basedir="$(brew——prefix mysql)"——datadir=/usr/local/var/mysql——tmpdir=/tmp # whoami inline执行
mysql。服务器启动
运行Brew建议的命令,将MySQL添加到launchctl中,以便在启动时自动启动
Mysql现在应该可以正常工作并一直正常运行
祝成功。
博士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。
我有同样的问题后,我试图重新启动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'
这解决了我的问题,可能对你有用。