解决centos7上安装mysql5.7后知道登录密码还报错ERROR 1045(28000): Access denied for user 'root'@'localhost'(using password: YSE)
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式可以找到root默认密码:
shell>grep 'temporary password' /var/log/mysqld.log |
---|
然后输入:
shell>mysql -u root -p + 回车(回车之后会显示enter password,然后输入上面查询的密码) |
但是还是会显示ERROR 1045(28000): Access denied for user 'root'@'localhost'(using password: YSE);
于是
1.先停止mysql服务
shell>systemctl stop mysqld.service |
---|
2,修改配置文件无密码登录
shell>vim /etc/my.cnf |
在最尾部加上
skip-grant-tables3,启动mysql
shell>systemctl start mysqld.service4,登录mysql
shell>mysql -u root (注意不要加 -p) |
---|
5,修改密码,mysql5.7用此语法
mysql> use mysql; (进入mysql数据库,注意:分号不要丢掉,是英文状态下的) |
---|
update mysql.user set authentication_string=password('新密码') where user='root' ;
6,回到第二步骤去掉加上的
skip-grant-tables
或者注释掉(注释用#)
7.保存(先按Esc键,在按shift+:,输入wq)
8.重启mysql就OK了
(另附一个网站:https://www.shiyanlou.com/courses/9 mysql基本语法学习)