Mac上配置MySQL5.7.17出现问题Access denied解决

       配置基本是按照此篇文章可以进行的,但是在配置mysql的过程中遇到一个问题ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

解决办法参见这篇文章,至于问题的原因,我觉得应该是安装mysql的过程中生成的临时密码已过期(即不可使用)造成的,SOF上有大神说原因是mysql中有匿名(anonymous)用户加上mysql默认查找用户的规则造成的。不过显然并不是我这里产生此问题的原因,因为通过mysql安全模式进入mysql命令行之后,我查找了所有的用户,并没有匿名用户,见下图


查找所有用户,以及看密码是否过期的命令为

SELECT User, Host, password_expired, password_last_changed, password_lifetime From mysql.user;

注意事项:1、在启用mysql安全模式时使用的命令为sudo mysqld_safe --skip-grant-tables,但是在这篇文章中说应该还要加个&,即sudo mysqld_safe --skip-grant-tables &,这里我没有深究,因为我用的时候没加&也没有出现很大的问题。

2、使用mysql安全模式遇到一个问题,当把命令行关掉时,已经提示会关闭mysqld进程,但是下一次启用时报错mysqld_safe A mysqld process already exists。此时可以使用三行命令(参考了这篇文章)加一个操作(利用命令关闭mysql)来彻底关闭mysqld进程,命令为

killall mysqld mysqld_safe
ps aux | grep mysqld
killall -9 mysqld mysqld_safe

关闭mysql的命令为

sudo /usr/local/mysql/support-files/mysql.server stop

3、另外上面的文章中提到,在命令行中查看mysql版本的命令为mysql -V,此处要注意V是大写的,我按照上面文章写了小写总是报错,度娘了一下才发现原因(捂脸笑)。

以前我配置Apapche,安装mysql很顺利,不知这次怎么遇到好多坑,或许是mysql或Mac OS升级造成的吧,不管怎么说,记录下来希望给别人一个参考。如果有什么问题,欢迎批评指正。


参考文章:http://note.rpsh.net/posts/2013/11/26/osx-apache-server-php-mysql/

http://jacob110.github.io/2015/10/13/mac-os-install-mysql5-7/

http://stackoverflow.com/questions/10299148/mysql-error-1045-28000-access-denied-for-user-billlocalhost-using-passw

https://segmentfault.com/a/1190000002955092

http://hoststud.com/resources/resolved-error-mysqld_safe-a-mysqld-process-already-exists.141/

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值