Fork me on GitHub

macos如何使用brew安装mysql并用navicat登录

前段时间刚安装了MongoDB,为啥又要安装mysql?其实我之前是安装好了mysql的,但由于是通过下载安装包的方式安装的,所以感觉有点乱,我决定用brew来统一管理,毕竟MongoDB也是用brew来安装的。

那为啥安装了MongoDB还要安装mysql呢,其实本来我爬的数据是想放到MongoDB然后用tableau来分析的,但是坑的是tableau不能直接连接MongoDB,还要安装一个BI中间件,研究了许久都没成功,所以我决定还是用回mysql。

安装起来流程如下:

1. 安装mysql

理由跟之前一样,不想系统中各种乱七八糟的包存在,果断使用brew来安装。在安装包之前先来升级下brew:

1
brew update

升级没问题之后再使用brew的检测命令检测一遍:

1
brew doctor

都没问题之后就进入了关键的一步:

1
brew install mysql

然后mysql就安装好了,其实安装并不难,难的是配置跟登录,或许对于经常使用的人来说也不难。但是对于小白来说还是记录一下的比较好,因为有些坑是我查了很多资料才找到的,而且可能因为mysql的版本问题,安装后的问题也是各种各样。

2. 配置mysql

安装好之后先将mysql服务设置为系统开机启动:

1
brew services start mysql

然后重启mysql服务:

1
brew services restart mysql

关闭mysql服务:

1
brew services stop mysql

查看mysql服务状态

1
brew services list

ok,当查看services状态时候发现mysql处于started的时候,说明已经安装没问题了。这个时候就可以登录了,但是在8.0.12版本的mysql中,还有两个操作,这个操作由于是我之前安装好的,大概就是要设置一个密码之类的,所以这里就不具体描述了。设置好密码就可以登录mysql了,但这里的登录指的是在终端环境下登录。

1
mysql -uroot -p

指的是用root账号登录mysql,然后输入密码即可出现mysql欢迎界面。到这里为止,配置mysql就完成了。然后开始用图形化mysql管理工具Navicat来查看数据了。

3. 登录mysql

总是用终端来登录mysql的话,对小白来说太不友好了,但我在安装并配置好mysql的时候,用Navicat登录mysql并没有成果,所以我查询了很多资料,结果都没成功,然后今晚我又无意中查询了下,找到了一篇解决方案。思路如下:

1
2
3
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
SELECT plugin FROM mysql.user WHERE User = 'root';

我先执行了第一行,发现报错了,然后我又执行了第三行,然后执行了第二行。到Navicat中一看,发现问题解决了,虽然我不知道啥原理,但是问题终究是解决了,我又可以愉快的爬片片了,哈哈。如果有大佬或者遇到同样问题的老铁看到这篇文章,可以在评论区跟我探讨下这个问题,或者直接给我你的答案,不胜感激!

参考资料:

  1. macOS High Sierra 使用 Homebrew 安装 MYSQL 5.7
  2. mysql Client does not support authentication protocol requested by server; consider upgrading MySQL