最近因为剁手买了mac所以在mac上搭建lnmp环境。

刚好看到mysql从5.7跳到8,性能据说快上一倍,果断尝鲜!

lnmp基本都弄好了,但是到用php连接Mysql这一步出了岔子。

出错原因

mysql8使用caching_sha2_password的身份验证机制

以往的验证机制则是mysql_native_password

解决方法

sudo vim /etc/my.cnf 

(mysql8默认没有配置文件,这个得新建)

添加:

 [mysqld]

 default_authentication_plugin=mysql_native_password

但是这样还没完全解决,因为这样只对修改配置并重启Mysql后的新建用户有效

而最初创建的root用户依然是caching_sha2_password的身份验证机制

【修改配置并重启后新建一个用户,可以令其密码与root密码相同,供后续使用(这一步也可以验证配置是否生效,生效的话加密后的字符串应跟root密码不同)】

(新建用户:CREATE USER ‘新用户名’@‘localhost' IDENTIFIED BY ‘密码’;)

以下修改操作前请备份!!

这个可以在mysql数据库中的user表直接将root用户的plugin改为mysql_native_password

同时把对应的authentication_string改为新用户加密后的密码

(顺利的话这个时候重启mysql就可以了,如果可以了就不用往下看了)

然而这个时候我又刚好脑抽了,改authentication_string的时候没备份,改下去重启后就连接不上了。

无奈,只好修改密码(后来发现是我原来密码没有删除干净,导致改的密码不对。晕。)

先是修改配置文件:

[mysqld]

skip-grant-tables  #加了这行

default_authentication_plugin=mysql_native_password

然后重启mysql

这时候可以登录进去修改root密码

alter user 'root'@'localhost'IDENTIFIED BY ‘新密码’;

最后记得去掉skip-grant-tables并重启Mysql

php7连接mysql8的更多相关文章

  1. php7连接mysql测试代码

    php7连接mysql测试代码 <?php $mysqli = new mysqli("localhost", "root", "passwor ...

  2. 远程连接MYSQL8.0服务器问题

    title: 远程连接MYSQL8.0服务器问题 date: 2018-07-07 11:02:26 updated: tags: [MYSQL,坑] description: keywords: c ...

  3. JAVA连接MYSQL8.0问题

    title: java连接mysql8.0问题 date: 2018-07-08 19:27:38 updated: tags: description: keywords: comments: im ...

  4. SQLyog连接MySQL8.0报2058错误的解决方案

    引言 用SQLyog连接MySQL8.0(社区版:mysql-installer-community-8.0.15.0.msi),出现错误2058(Plugin caching_sha2_passwo ...

  5. php连接mysql8报错如何解决

    php版本为5.6,连接mysql8.0时报错,但是连接其他mysql8前的版本是正常的 原因可能是mysql8默认的使用密码认证方式不一样,mysql8.0默认使用caching_sha2_pass ...

  6. Navicat连接MySQL8+时出现2059报错

    当我们连接时,会报2059错误 在用navicat连接MySQL8+时会出现2059错误,这是由于新版本的MySQL使用的是caching_sha2_password验证方式,但此时的navicat还 ...

  7. navicate 连接mysql8.0,个人踩坑问题汇总

    navicate 连接mysql8.0,个人踩坑问题汇总本文目录:1:安装mysql8.0新增全新验证方式,安装如果不修改mysql连接不上2:mysql启动命令问题3:navicate 运程连接My ...

  8. navicat连接mysql8.0+版本报错2059

    ERROR 2059 : Authentication plugin 'caching_sha2_password' cannot be loaded 问题: 连接Docker启动的mysql出现:E ...

  9. Navicat连接Mysql8.0.17出现1251错误 / 或者Navicat Premium出现2059错误

    Navicat连接Mysql8.0.17出现1251错误 重装了电脑之后,好多软件出了问题,经过一系列的插件安装,mysql终于安装好了 但是Navicat又抽筋了~~~额(⊙o⊙)... 在网上查的 ...

随机推荐

  1. Java IO: FileInputStream

    原文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) FileInputStream可以以字节流的形式读取文件内容.FileInputStream ...

  2. Trie图 模板

    trie图实际上是优化的一种AC自动机. trie图是在trie树上加一些失配指针,实际上是类似KMP的一种字符串匹配算法. 失配指针类似KMP的nx数组,有效地利用了之前失配的信息,优化了时间复杂度 ...

  3. python保留2位小数

    1 代码: ​ 2 运行结果: ​ 3 其中字符串形式的:print('%.2f' % (x/y))方式最好

  4. Flask向模板中JS传值简便方式

    后台传值: return render_template('statistics/numberofuserlogin/login_number.html', result_json = json.du ...

  5. OpenCA搭建

    前言: OpenCA是OpenCA开源组织使用Perl对OpenSSL进行二次开发而成的一套完善的PKI免费软件,主要由四部分组成:CA.RA.PUB和NODE.简而言之,PUB是对外提供服务的接口, ...

  6. 烧钱时代终结!O2O还能玩啥花样?

    最终的最终,饱受亏损.烧钱玩补贴等争议的美团还是追随滴滴/快的.赶集/58的步伐,与大众点评愉快的在一起了!美团和大众点评作为O2O行业的领军企业,都因为不堪忍受持续地投入却不见回报的模式而不得不放低 ...

  7. iPhone8的十面埋伏

    ​ 不知不觉,iPhone已经走到了第十个年头,也正因如此,业界最普遍的预测就是:iPhone8会出现颠覆性创新,让人眼前一亮的同时,给苹果再度续命.平心而论,苹果早就青史留名,创造了大量的奇迹,科技 ...

  8. CSS——NO.7(布局模型)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  9. MVC三层架构

    需求: 注册登录: # 知识补充: >> MVC模型: |-- M 模型: |-- V 视图: |-- >> 基本概念: |-- 层级之间的调用关系: |-- V层接收前台数据 ...

  10. mysql in与exists区别

    1.exists是对外表做loop循环,每次loop循环再对内表(子查询)进行查询,那么因为对内表的查询使用的索引(内表效率高,故可用大表),而外表有多大都需要遍历,不可避免(尽量用小表),故内表大的 ...