记一次主机、账号、密码都对的情况下无法连接MySQL的问题

背景是:在之前用LNMP搭建WordPress时候,进入WordPress的安装引导页面。连接数据库一直连接不上。一直连接失败。
这里来说一下排查的过程以及最终的解决方法

  1. 遇到这个问题,我首先查看 mysqld 服务是否启动。 systemctl status mysqld 发现一切正常
  2. 虽然是连接本地的mysql,但是还是习惯的看了一眼防火墙,mysql对应的端口已经放开。
  3. 眉头开始紧缩?莫非我输出账号密码了?
  4. 在终端输入 mysql -u root -p 输入对应的密码后,正常进入mysql页面
  5. 使用第三方连接工具 Navicat进行连接mysql 。也是连接不上。
  6. 再次确认主机、密码、账号,真的真的没有问题,都输入对了。此刻我慌了
  7. 打开google。一顿查最终解决问题。

    问题的原因:我装的php版本是7.2,装的MySQL 是最新的8.0的。新版本的 mysql (8.0) 使用了一种更高级的身份验证方法 caching_sha2_password 。但是在装php时候没有装最新的连接mysql的身份验证插件,所以无法连接最新版本的mysql
    解决方案1:安装php对应的连接mysql验证的最新插件。最后可以使用phpinfo()来确认插件里是否安装成功,如果安装成功即可
    解决方案2:使用老的mysql的身份验证方式。 mysql_native_password 是传统的身份验证方法 – 它不是很安全(它仅使用密码的哈希值),但它与旧驱动程序兼容。

执行命令: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<password>'; 来让连接mysql时,对对应用户的验证方式采用传统验证方式。 最终问题解决!成功连接!

评论

  1. 迷龙
    9 月前
    2023-12-11 11:13:21

    厉害啊

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇