一尘不染

brew在macOS上安装mysql

mysql

我正在尝试使用Homebrew在Mac OS 10.6上设置MySQL brew install 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:连接到“ localhost”服务器 
失败的错误:“对用户'root'@'localhost'的访问被拒绝(使用密码:否)'

我也尝试过访问mysqladmin or mysql using -u root -proot
但是使用或不使用密码都无法使用。

这是全新计算机上的全新安装,据我所知,必须使用root用户密码才能访问新安装。我也尝试过:

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

但我也得到

错误1045(28000):用户'root'@'localhost'的访问被拒绝(使用密码:NO)

阅读 606

收藏
2020-05-17

共1个答案

一尘不染

我认为使用已安装的旧版本mysql可以最终胜任这一职位。我遇到了同样的问题,以上解决方案均不适合我。我这样修复:

使用brew的removecleanup命令,卸载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

然后,我从头开始:

  1. 安装了MySQL brew install mysql
  2. 运行命令brew建议:(请参见下面的注释)

    unset TMPDIR
    

    mysql_install_db –verbose –user=whoami –basedir=”$(brew –prefix mysql)” –datadir=/usr/local/var/mysql –tmpdir=/tmp

  3. 使用mysql.server start命令启动mysql ,以便能够登录

  4. 使用了备用安全脚本:

    /usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
    
  5. 遵循launchctlbrew包脚本输出中的部分,例如,

    #start
    

    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

    stop

    launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

注意:--forcebrew cleanup也将清除过时的小桶,认为这是一种新的自制功能。

请注意第二点: 评论者说不需要步骤2。我不想测试它,所以YMMV!

2020-05-17