在ubuntu22.04里网站源码连不上mysql数据库

7 篇文章 0 订阅
3 篇文章 0 订阅

在ubuntu22.04里网站源码连不上mysql数据库。后来找到了原因。

连不上的时候有报错信息:

        ERROR 1698 (28000): Access denied for user 'root'@'localhost'

用在网上搜索该报错信息,找到了两篇有用的文章,用这两篇文章里的处理方法解决了问题。

1、查看root用户登录验证方式。

1.1、在命令行界面登录mysql

        sudo mysql -uroot -p

然后输入密码,登录成功。

1.2、查看root用户登录验证方式

        use mysql;

        SELECT host,user,authentication_string,plugin FROM mysql.user;

这时看到root用户登录验证方式(plugin)是:auth_socket 。登录主机(host)是:localhost。该登陆方式为证书登录,但是源码使用的是密码登录。因此需要修改成其他方式。

2、修改root用户登录验证方式。

如下两种方式,都是可行的。任选一种就可以。其中you_password用你实际使用的密码代替。

2.1、缓存 SHA-2 验证

        ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'you_password';

2.2、使用密码验证      

        ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'you_password';

3、更新登录验证方式   

        FLUSH PRIVILEGES;

4、重复第一步中的1.2步,确认root登录验证方式已修改。

5、退出mysql。

        按<Ctrl>+D,退出MySQL。

这样处理以后就能正常连接mysql数据库了。

下面是一张网站截屏图片。

参考文章:

如何修复 mysqli_real_connect(): (HY000/1698): Access denied for user ‘root’@‘localhost’ 错误?_mysql_weixin_0010034-MySQL数据库

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值