我正在try 在mac os 10.6上使用brew 软件brew install mysql 5.1.52次安装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)'

我也try 过访问mysqladmin or mysql using -u root -proot

这是一台全新机器上的全新安装,据我所知,新安装必须无需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个脚本,然后在/usr/local/var中删除了mysql目录,删除了我现有的/etc/my.cnf个(如果适用的话,由您决定),并启动了ctl 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. 安装了brew install mysql个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. 遵循brew软件包脚本输出中的launchctl部分,例如,

    #start
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    
    #stop
    launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    

Note: brew cleanup上的--force位也将清理过时的桶,认为这是一个新的ishbrew 功能.

Note the second:一位评论者说,不需要第二步.我不想测试,所以YMMV!

Mysql相关问答推荐

是否可以在一个查询中将字符串附加到许多匹配的行

INNER JOIN 问题(MySQL 错误代码:1054)

MySQL如何通过外键ID选择多行?

如何显示患者预约中的专业人员姓名?

MySQL过滤食谱上的多对多 - 成分表

我在查询中没有得到正确的结果

Mysql insert with loop out of select 语句

Over() 函数不覆盖表中的所有行

Golang Gorm 没有创建带有约束的表

是否可以从 .SQL 文件中计算表中的行数?

如何在sql中挑出某些名称

为什么 ORDER BY 'id' 'desc' 不返回语法错误?

如何将 MySQL 5.7 更新到新的 MySQL 8.0?

.NET Core 2.1 Identity 获取所有用户及其相关角色

MySQL 8.0 上的 phpMyAdmin

无法加载身份验证插件“caching_sha2_password”

ProgrammingError: 在一个线程中创建的 SQLite 对象只能在同一个线程中使用

脚本超时,如果要完成导入,请重新提交相同的文件,导入将恢复

如何在sequelize中定义多列的唯一索引

MySQL 错误: '访问被拒绝用户'root'@'localhost'