php7连接mysql8
最近因为剁手买了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的更多相关文章
- php7连接mysql测试代码
php7连接mysql测试代码 <?php $mysqli = new mysqli("localhost", "root", "passwor ...
- 远程连接MYSQL8.0服务器问题
title: 远程连接MYSQL8.0服务器问题 date: 2018-07-07 11:02:26 updated: tags: [MYSQL,坑] description: keywords: c ...
- JAVA连接MYSQL8.0问题
title: java连接mysql8.0问题 date: 2018-07-08 19:27:38 updated: tags: description: keywords: comments: im ...
- SQLyog连接MySQL8.0报2058错误的解决方案
引言 用SQLyog连接MySQL8.0(社区版:mysql-installer-community-8.0.15.0.msi),出现错误2058(Plugin caching_sha2_passwo ...
- php连接mysql8报错如何解决
php版本为5.6,连接mysql8.0时报错,但是连接其他mysql8前的版本是正常的 原因可能是mysql8默认的使用密码认证方式不一样,mysql8.0默认使用caching_sha2_pass ...
- Navicat连接MySQL8+时出现2059报错
当我们连接时,会报2059错误 在用navicat连接MySQL8+时会出现2059错误,这是由于新版本的MySQL使用的是caching_sha2_password验证方式,但此时的navicat还 ...
- navicate 连接mysql8.0,个人踩坑问题汇总
navicate 连接mysql8.0,个人踩坑问题汇总本文目录:1:安装mysql8.0新增全新验证方式,安装如果不修改mysql连接不上2:mysql启动命令问题3:navicate 运程连接My ...
- navicat连接mysql8.0+版本报错2059
ERROR 2059 : Authentication plugin 'caching_sha2_password' cannot be loaded 问题: 连接Docker启动的mysql出现:E ...
- Navicat连接Mysql8.0.17出现1251错误 / 或者Navicat Premium出现2059错误
Navicat连接Mysql8.0.17出现1251错误 重装了电脑之后,好多软件出了问题,经过一系列的插件安装,mysql终于安装好了 但是Navicat又抽筋了~~~额(⊙o⊙)... 在网上查的 ...
随机推荐
- OpenCV 腐蚀与膨胀(Eroding and Dilating)
#include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" #i ...
- springboot学习笔记:1.前言
眼下,随着微服务敏捷开发的势头日益增长,前几年刚刚萌芽的话题,到了现在已经炽手可热.在java圈子里,springboot作为spring生态圈的顶级项目,更是火的不得了.作为java程序员,不了解和 ...
- python3下scrapy爬虫(第一卷:安装问题)
一般爬虫都是用urllib包,requests包 配合正则.beautifulsoup等包混合使用,达到爬虫效果,不过有框架谁还用原生啊,现在我们来谈谈SCRAPY框架爬虫, 现在python3的兼容 ...
- 图的DFS。。类似树的DFS
Depth-First Search (DFS) Depth-first search (DFS) is an algorithm for traversing or searching tree o ...
- python 组件
组件:JQueryUI.EasyUI.BootStrap 每一个框架都要学习它们的规则.
- python的IO
格式化输出 格式化输出是指通过print()等函数向指定的地方(比如屏幕)输出指定格式的内容 格式: age = 18 name = "xiaohua" print("我 ...
- 实战:CentOS 7.2 / Zabbix3.4安装graphtrees
众所周知的 Zabbix图形显示问题,决定使用graphtrees 插件. 环境:CentOS7.2 + Zabbix 3.4 1)首先切换到root用户以获得足够的权限将资源下载到 /usr/sha ...
- es6 转载
1.let命令 1)let和var的区别:let声明的变量只有所在的代码块有效. 2)没有变量的提升,一定要声明后使用.使用let命令声明变量之前,该变量都是不可用的.形成“暂时性死区”. 3)typ ...
- Vimium - 让你体验Geek般的浏览体验
相信很多电脑高手们都会寻找一一些快捷高效的操作方式,如经常利用键盘的快速操作,让你脱离鼠标,可以让你不用花太多精力地去移动细小的指针进行操作,使得工作的效率提高许多. 不过,实际上很多时候我们还是不得 ...
- C++扬帆远航——4(百钱百鸡)
/* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:baiji.cpp * 作者:常轩 * 完成日期:2016年3月 ...