1、 问题描述
在Xshell中输入使用如下命令进入mysql数据库
mysql -u root -p
进入数据库时报错:
ERROR 1045 (28000): Access denied for user 'root'@'localhost'
2、解决问题
在我们下载安装MySQL的过程中,系统会自动给我们创建一个用户,我们借助如下指令便可以查看该用户信息:
sudo cat /etc/mysql/debian.cnf
然后使用该用户名和密码进入MySQL:
mysql -u debian-sys-maint -p
用户名 user = debian-sys-maint
密码 password = LnDbCtjegwKPF6Si
3、 查看user表
在mysql中输入指令,结果如下:
use mysql;
select user,plugin from user;
4、修改root密码格式
update user set plugin='mysql_native_password' where user='root'; # 修改其密码格式
select user,plugin from user; # 查询其用户
执行完这一步,不要忘记刷新权限(可以理解为高并发,可能还没处理完数据让他缓存,就执行下一步操作可能会出错)。
flush privileges;
5、增加root密码
alter user 'root'@'localhost' identified by 'you_passwords';
再次刷新权限:
flush privileges;
6、退出登录
exit
7、重启服务
sudo systemctl restart mysql