关于Mac安装使用MySql的几个ERROR的解决办法

1.使用Homebrew进行安装mysql所遇到的问题

安装完成后,会有如下内容:

We've installed your MySQL database without a root password. To secure it run:
    mysql_secure_installation

MySQL is configured to only allow connections from localhost by default

To connect run:
    mysql -uroot

A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.

To restart mysql after an upgrade:
  brew services restart mysql
Or, if you don't want/need a background service you can just run:
  /usr/local/opt/mysql/bin/mysqld_safe --datadir=/usr/local/var/mysql

第一句话,我们安装了mysql数据库但是没有设置root密码,如果要设置,请运行指令:

mysql_secure_installation

但是,如果直接终端里面敲这个指令,可能会遇到如下的提示问题:

Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

造成这个的原因是因为没有启动mysql,需要运行指令

sudo mysql.server start

来启动mysql。但是当我们运行这个指令的时候,可能会出现如下错误:

ERROR! The server quit without updating PID file(...)

导致这个的原因可能很多,网上一搜也能列举出来很多方法,进程的原因可能是最大的(本人即是这个原因)。我选取一个有效且简单的方法。打开活动监视器,找到mysql进程,双击打开,直接退出进程(一定要保证mysql进程不存在)

活动监视器

虽然不知道为什么一安装好,mysql就在运行,并且还会导致Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)的错误。但是退出这个进程,然后再通过指令

sudo mysql.server start

启动mysql,进而就可以进行其他一系列操作了。如果第一步mysql_secure_installation卡住了,完成到这里之后。就可以运行第一条指令了(以后电脑每次重启,都需要这样杀死进程,再通过指令sudo mysql.server start 进行启动,才能连接到mysql,且不会出现’/tmp/mysql.sock’(2)的错误)。


2.使用mysql官网下载安装mysql所遇到的问题

本人的原因:最开始安装mysql8.0版本,安装完之后就可以直接运行。之后过了一段时间,突然就不能用了。后来查阅资料,看网上说的是:

In MySQL 8.0, caching_sha2_password is the default authentication plugin rather than mysql_native_password, which was the default in MySQL 5.7.

但是在5.7也有可能是auth_socket 的情况。auth_socket 和caching_sha2_password都有可能导致ERROR 1698 (28000): Access denied for user ‘root’@'localhost’的问题。至于caching_sha2_password有什么作用,好像是安全性方面的作用,本人本科生也没有深入了解,这篇文章只是分享下自己解决的问题方法,有兴趣的,我放个链接:

Caching SHA-2 Authentication

所以,我看网上有好多文章。解决方法大致就是,把root用户的plugin改成mysql_native_password。然后就可以通过密码登录了。具体实现起来就是安全模式启动mysql,可以不用输入密码进入mysql,然后先查看一下root的plugin:

select user,plugin from mysql.user;

如果你是homebrew安装的mysql,默认下就是这样:

plugin

如果你的也是mysql_native_password,那可能是别的原因,自行查找别的文献资料!!

完成这一步后,5.7版本和8.0版本,分别对应了两种改plugin的方法,这里我不作阐述,有需要的可以自行到StackOverflow上查找这个问题的解决办法!(本人一开始就是这个问题,后来才改用的homebrew安装mysql的)。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值