现场场景:
Centos7.9 第一次安装MySQL Ver 8.0.36 for Linux on x86_64 (MySQL Community Server - GPL)
问题描述
Linux–Mysql报错:Error: Access denied for user ‘root‘@‘localhost‘ (using password: YES)
原因分析+解决办法:
Access denied(拒绝访问);
using password:NO/YES。这里这个using password 的是是否输入了密码,输入了就表示YES,没有就输出NO。
根据网上查了很多资料,出现Access denied的原因有如下可能:
MySQL的服务器停止了
systemctl status mysqld #发现mysql正常的
用户的端口号或者IP导致拒绝访问
netstat -anp|grep mysql #查看mysqld端口号是否为默认3306
如不一致,打开/etc/mysql/mysql.conf.d目录下文件进行编辑。
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf #修改配置prot =3306
root用户的密码错误!
我们先在my.cnf配置文件中添加skip-grant-tables #跳过密码检查,并保存。
systemctl restart mysqld #重启mysql 使其配置文件生效
然后MySQL 直接登录到 数据库执行
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; #修改root用户密码为123456
修改好后 退出数据库 把my.cnf配置文件中添加skip-grant-tables 这一行注解掉 重启服务即可!