微信扫码登录

微信扫码登录

邮箱恶意注册过多,目前只支持微信模式

MacOS MySQL 8 终于变成了开发者期望的样子,安装时有哪些千万需要注意的事项,前方 error 潜伏中

作者:Codinget
2018. 07. 13

安装 MySQL 8 注意事项

MySQL 8 出生已经有一段时间了,像我这种反射弧比较长的人终于也决定入坑 8 了,因为自己大部分的项目其实都是跑在 5.7 上,为了和项目保持一致,所以一直没有在自己的机器上尝鲜最新的 MySQL 8, 毕竟自己的主力开发战机保持在稳定的状态最重要,因为搭建环境一旦出问题,会影响到现在很多正在进行的项目,这也是多年来被教训后的一个经验 ~

近期恰逢升级系统,有一个网站的码友 Lele 配置环境时遇到了 MySQL 8 的问题前来求助,于是乎,我也来踩踩 MySQL 8 的坑,MySQL 8 我就不对其进行介绍了, 最大的点就是速度是 5.7 的两倍,的确很诱人,咱们就从安装开始吧。下面是它的下载链接,如果你没有安装的话,直接打开这个链接即可:

MySQL 8 官方下载链接

 

接下来就是安装过程中需要注意的事情了:

MySQL 8 安装注意事项

当安装到上图这步的时候,记得一定要选择 Use Legacy Password Encryption, 这一项是兼容过去的传统密码验证模式,选择这一项能很好的兼容过去的项目;上面的那一项是 MySQL 8 新推出的密码验证模式,你可能会问,有新的为啥不用呢?我的回答是:“不是不用,而是现在不能用,以后到了合适的时候肯定会用”。为什么这么说呢,因为 MySQL 在整个数据库生态中掌握话语权和主动权的那一方,NaviCat,Sequel Pro 等数据库软件都要看它的眼色,开发框架也要看它的眼色,它刚推出这个新的更安全的密码验证模式,大家不可能在第一时间就能跟上,目前大部分的数据库软件和开发框架都还不支持它的最新特性,如果你选择了第一项,那抱歉,数据库软件都没办法连接到 mysql 服务后边一堆麻烦事等着你去解决,更恶心的事,解决不了。这就像苹果和微信一样,它要定什么新的规则,有啥新的要求,开发者必须遵守,不听老大的话,就没有好果子吃。

MySQL 8 安装注意事项

再此终于可以表扬以下 MySQL 了,之前的多个版本,设置密码是一件很恶心的事,必须要到命令行中进行设置,MacOS 本来在图形化方面很出色,是用来做开发环境的,开发环境搭建的时候应该力求简单高效,之前的版本设置个密码搞的跟 Linux 部署环境一样复杂,简直太不人性化了,部署环境因为安全性的要求那么做是没有问题的,而且非常应该;至于开发环境,能简单就简单,现在这个样子就非常好,而且安装完成之后修改密码也变得非常简单了。 安装完成之后,可以到系统中去启动 MySQL 服务。

启动 MySQL 8

 

在里面可以进行密码的设置以及其他的设置操作,但是现在很多框架可能还没办法连接数据库,咱们在终端中也不能通过 mysql 命令进入到数据库服务控制台

mysql
fish: Unknown command 'mysql'

如果想要进入 mysql 控制台,咱们就需要为 mysql 创建一个软连接,创建之前首先要知道 mysql被安装到了哪里,打开系统中的MySQL进行查看,就是上面的那张图黄色圈定的项

MySQL 8 的配置项

 

在 Configuration 里面咱们就可以看到它的 Base Directory 了, /usr/local/mysql 就是咱们要建立的软连接的项

ln -s /usr/local/mysql/bin/mysql /usr/local/bin

这样的话咱们再次运行mysql -u root -p 就没问题了。


mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.11 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

 

这个时候咱们可以用 Sequel Pro 连接一下数据库,应该是没有一点问题的。如果咱们之前安装的时候使用的是新的密码验证规则,那大部分数据库软件连接 mysql 的时候会失败,而且会弹出下面的错误 :

caching_sha2_password' cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image not found

 

OK,这就是安装 MySQL 8 的时候需要注意的事项,为了写这篇博客,MySQL 8 反反复复安装卸载好几次,一篇简单的博客都能折腾一个小时,更何况咱们的编程学习,所以说,做什么要有耐心,切勿急躁冒进,借用侯耀文先生评价早期一直赔钱的德云社的一段话:“我支持他们,我觉得多学多干多实践总是一个过程,不是在于你能不能马上见到效果,甚至说不是马上就能有收益,如果这样,就是一种急功急利的想法,人是需要积累的,积累的这个过程比将来收益那个过程还要宝贵。心浮气躁只会扰乱你自己的心智,适得其反”。仅以先生此言共勉~

 

 

 

lele 2018.07.13 14:01

写的很详细,能够解决我的问题,以后有问题还来麻烦你,比我搜来搜去找不到解决方法好多了,还有就是你废话还挺多的 ~_~

Codinget 2018.07.13 14:05

那肯定是你没有好好搜,或者只用百度,没用其他的搜索工具。搜东西也是门技术,搜东西耐心很重要,有的时候不是马上就能找到解决办法,综合几个搜索结果或许就有了

西门撸码 2018.07.19 15:31

Boss, 你最新的视频怎么开始使用 NaviCat, 不使用Sequel Pro了?感觉演示数据的时候还是SP那个方便。

Codinget 2018.07.19 15:35

你观察还真细,我重新装机器遇到悲剧了,Sequel Pro 一打开应用就崩溃,卸了重新安装也不行,没办法就使用了 NaviCat , 倒不是说它不好用,某些方面确实不如 Sequel Pro 方便,但是也懒得重新做系统,重新安装了,凑合凑合吧 ~ 我也是一脸无奈 ~

Hello 2018.07.19 21:02

最近的视频声音清楚多了,早期的声音一直很闷,老大加油,等你新视频呢

Codinget 2018.07.19 21:06

哎,别提了,从第一个系列的视频一直到 Vue 路由 那个系列的视频,这个阶段其实我一直处在生病的阶段,得了一场旷日持久的病,天天咳嗽,所以声音很不好,经常补录声音,所以那个阶段的视频声音质量我自己都不满意,但是我决定都留下来,算是个纪念。6月份的时候病好了,换了个麦克,声音效果就好一些了 ~

Hello 2018.07.19 21:09

难怪,老大,我由衷感谢,也由衷佩服

lele 2018.07.19 21:43

这么辛苦啊,难怪之前视频中的声音是那样的,健康第一,做技术的真不容易

Alang 2019.01.26 00:09

辛苦了 又在你身上学到东西了

Codinget 2019.01.26 07:15

对于工科的人来说,我们的技能就是要靠打磨才能出来,有了这个态度才能习惯这种工作方式,心理也就不浮躁了,心里没了那么多杂念以后。反而会特享受,就跟找到自己的使用说明书似的

编程原力 京ICP备17045322号-2
版权所有, 侵权者追究法律责任