• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

ubuntu2004ubuntu18.04中解决MySQL的access denied for user root @localhost的方法中解决MySQL的access denied for user root @localhost的方法

开发技术 开发技术 5小时前 3次浏览

方法一:

环境配置:ubuntu18.04,MySQL版本为5.7.25

解决方法:
1.打开/etc/mysql/debian.cnf文件,里面存储了系统管理员的密码

mysql -udebian-sys-maint -p
2. 用udebian-sys-maint账号登录MySQL

mysql -udebian-sys-maint -p
再输入对应debian.cnf里对应的密码,以管理员身份进去

3.进入控制台后.按以下步骤进行(记住使用函数PASSWORD)

use mysql;
update user set authentication_string=PASSWORD(‘新密码’) where user=’root’;
quit;
service mysql restart
4.重新登录

mysql -u root -p

方法二:

参考https://blog.csdn.net/wangliyao518/article/details/83011522

1、打开MySQL目录下的配置文件(我的目录是/etc/mysql/mysql.conf.d/mysqld.cnf, 可能有的系统是my.ini),在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
2、重启MySQL服务

service mysql restart
3、在命令行中输入“mysql -u root -p”(不输入密码),回车即可进入数据库

4、执行,“use mysql;”使用mysql数据库

5、执行,“update user set authentication_string=PASSWORD(“rootadmin”) where user=’root’;”(修改root的密码, 有的mysql表列名可能是password, 需要是命令:”update user set password=PASSWORD(“rootadmin”) where user=’root’;”)

(记住使用函数PASSWORD)

6、打开MySQL目录下的/etc/mysql/mysql.conf.d/mysqld.cnf文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
7、重启MySQL服务。( service mysql restart)

8、在命令行中输入“mysql -u root -p”,问题搞定!

 

结果如下:

————————————————
版权声明:本文为CSDN博主「qq_39479426」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39479426/article/details/88771315


喜欢 (0)