淘宝卖东西如何在网站做宣传,某学校网站建设方案,软件设计原则,如何编写一个网站在ubuntu22.04里网站源码连不上mysql数据库。后来找到了原因。
连不上的时候有报错信息#xff1a; ERROR 1698 (28000): Access denied for user rootlocalhost
用在网上搜索该报错信息#xff0c;找到了两篇有用的文章#xff0c;用这两篇文章里的处理方法解决了问题。 …在ubuntu22.04里网站源码连不上mysql数据库。后来找到了原因。
连不上的时候有报错信息 ERROR 1698 (28000): Access denied for user rootlocalhost
用在网上搜索该报错信息找到了两篇有用的文章用这两篇文章里的处理方法解决了问题。
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 rootlocalhost IDENTIFIED WITH caching_sha2_password BY you_password;
2.2、使用密码验证 ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY you_password;
3、更新登录验证方式 FLUSH PRIVILEGES;
4、重复第一步中的1.2步确认root登录验证方式已修改。
5、退出mysql。 按CtrlD退出MySQL。
这样处理以后就能正常连接mysql数据库了。
下面是一张网站截屏图片。 参考文章
如何修复 mysqli_real_connect(): (HY000/1698): Access denied for user ‘root’‘localhost’ 错误?_mysql_weixin_0010034-MySQL数据库