php7连接mysql8
2024-09-03 07:04:43
最近因为剁手买了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
最新文章
- Redis——学习之路四(初识主从配置)
- Builder模式
- Android composite adb interface
- hduoj 4707 Pet 2013 ACM/ICPC Asia Regional Online —— Warmup
- SQL Server中查询用户的对象权限和角色的方法
- HTML教程XHTML教程:HTML标记嵌套使用技巧
- easyui实现datagrid数字排序问题
- ObjectiveC 文件操作一
- 图片的 base64 编码
- Objective C HMAC-MD5
- powdesingner 更新数据库表结构
- 洛谷P4593 [TJOI2018]教科书般的亵渎(拉格朗日插值)
- BZOJ1005 HNOI2008明明的烦恼(prufer+高精度)
- Noisy Channel模型纠正单词拼写错误
- spring与junit整合测试
- 一次Java内存泄漏调试的有趣经历
- 基于window 7安装ubuntu 18.04双系统
- Install MySQL 5.7 on Fedora 25/24, CentOS/RHEL 7.3/6.8/5.11
- OC 方法和函数
- openssl https 单向认证连接成功示例
热门文章
- 吴裕雄--天生自然python学习笔记:Python3 函数
- 对String类型的认识以及编译器优化
- Rancher安装多节点高可用(HA)
- [洛谷P2613] [模板] 有理数取余
- Java Design Patterns(2)
- 基于seo的话 一个页面里的h1标签应该控制在多少个
- 一个简单的爬取b站up下所有视频的所有评论信息的爬虫
- 连接器巨头Molex莫仕:替代品厂PK原厂
- Docker深入浅出系列 | Docker Compose多容器实战
- 7-19 计算有n个字符串中最长的字符串长度 (40 分)