Mac安装Mysql 8.0.13、修改root密码、Navicat Premium连接

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

先diss下自己,其实mac利用brew安装mysql还是比较简单的。

但是这次安装,只要遇到问题我就网上搜,搜索结果一大堆解决方法,本来问题比较明朗,但是搜的多了,就会出现其他连锁反应。

【朋友超哥曾经说过:“走的太远 容易忘记回去的方向,写的太多 容易忘记原有的逻辑......”】

自己没有冷静的思考问题,盲目的去按照别人的建议去操作,最后乱七八糟的,也许也是自己技术能力不过关的原因之一吧。

所以在自己踩过太多坑的基础上,写下此文mac利用brew安装mysql 8.0.13的过程。

一、官网下载Mysql 8.0.13

下载地址:https://dev.mysql.com/downloads/mysql/

进入此网站,会自动匹配到你的操作系统,可直接下载.dmg文件。

二、利用brew安装mysql

Homebrew是macOS缺失的软件包管理器,使 macOS更完整,譬如可以安装Apple Store没有预装,但你需要的东西。

更多详情请查看Homebrew官网:https://brew.sh/index_zh-cn.html

一定要安装Homebrew成功。

 

安装Mysql前,需要先把之前的文件清理干净(如果第一次安装,此步骤可忽略)

执行下列命令

  • sudo rm /usr/local/mysql

  • sudo rm -rf /usr/local/mysql*

  • sudo rm -rf /Library/StartupItems/MySQLCOM

  • sudo rm -rf /Library/PreferencePanes/My*

  • rm -rf ~/Library/PreferencePanes/My*

  • sudo rm -rf /Library/Receipts/mysql*

  • sudo rm -rf /Library/Receipts/MySQL*

  • sudo rm -rf /var/db/receipts/com.mysql.*

 

利用brew安装mysql,输入如下命令:

  • brew install mysql

 

Mac安装Mysql 8.0.13、修改root密码、Navicat Premium连接_第1张图片

三、常用的brew命令

# 获取service列表

  • brew services list

# 重启mysql服务

  • brew services restart mysql

# 停止mysql服务

  • brew services stop

四、终端登录mysql

刚才的截图中有提到,brew安装的mysql,root用户登录没有密码,不用输入密码,直接回车即可

Mac安装Mysql 8.0.13、修改root密码、Navicat Premium连接_第2张图片
 

五、查询用户密码:

查询用户密码命令:
  1. use mysql;
  2. select host,user,authentication_string from user;
 
  • host:允许用户登录的ip‘位置’%表示可以远程;
  • user:当前数据库的用户名;
  • authentication_string:用户密码【重点字段,后面有提到此字段】;

Mac安装Mysql 8.0.13、修改root密码、Navicat Premium连接_第3张图片

六、设置(或修改)root用户密码

默认root密码为空的话 ,下面使用navicat就无法连接,所以我们需要修改root的密码。
 
“此处踩过N多坑,后来查阅很多才知道在mysql 5.7.9以后废弃了password字段和password()函数;而改为authentication_string字段表示用户密码。”
 
下面直接放出目前修改root密码的步骤:

一、如果当前root用户authentication_string字段下有内容,需要先将其设置为空。若已经是为空直接进行步骤二。

  • use mysql;
  • update user set authentication_string=''  where user='root';
二、使用ALTER修改root用户密码,如下:
  • ALTER user 'root'@'localhost' IDENTIFIED BY '新密码';
  此处有两点需要注意:
  1. 不需要flush privileges来刷新权限。
  2. 密码要包含大写字母,小写字母,数字,特殊符号。
   Mac安装Mysql 8.0.13、修改root密码、Navicat Premium连接_第4张图片
 
修改成功后; 退出重新使用用户名密码登录即可。
 
注意: 一定不要采取 如下形式修改密码:
  1. use mysql;  
  2. update user set authentication_string="新密码" where user="root";  
因为这样会给user表中root用户的authentication_string字段下设置了newpassword值;
当再使用ALTER USER 'root'@'localhost' IDENTIFITED BY 'newpassword'时会报错的;
因为authentication_string字段下只能是mysql加密后的41位字符串密码;其他的会报格式错误;
*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE
【此段摘自文章: https://www.cnblogs.com/kawask/p/9171966.html

七、利用navicat连接本地数据库  

第一次连接时,明明账号密码都正确,连接还是报错提示。
MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image not found
 
分析下:在MySQL 8.0.4版本之前,执行:SET PASSWORD=PASSWORD('[新密码]');
但是MySQL 8.0.4开始,这样默认是不行的。
因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。
 
所以我们这里需要再修改一次root密码。
先登录进入mysql环境:执行下面三个命令。(记得带上分号)
  • use mysql;
  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
  • FLUSH PRIVILEGES;
完美解决啊
Mac安装Mysql 8.0.13、修改root密码、Navicat Premium连接_第5张图片
 

转载于:https://my.oschina.net/niepanLs/blog/2876277

你可能感兴趣的:(Mac安装Mysql 8.0.13、修改root密码、Navicat Premium连接)