关于mysql安装后登不进的问题--ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)

首先说下ubuntu命令行安装与卸载mysql :

安装mysql:
sudo apt update
sudo apt upgrade
sudo apt install mysql-server


完全卸载mysql:
1.查看依赖
dpkg --list|grep mysql
2.开始卸载
sudo apt-get remove mysql-common
sudo apt-get autoremove --purge mysql-server-8.0 
3.再次查看
dpkg --list|grep mysql
4.剩什么再次卸载什么
5.清除卸载残留
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

ubuntu安装好mysql8后出现了这个问题,关键安装过程中并没有提示要设置密码。

我的mysql版本是

本来一直在参照这个帖子https://www.cnblogs.com/cpl9412290130/p/9583868.html在改,但是始终没有成功。

说真的,这个问题我搞了好久,最终这个帖子提醒我先要清空root密码再重新给它设置密码,然后我才成功

https://blog.csdn.net/Shuju15/article/details/109001393

贴成功图:

总结即如下:

第一步:设置允许无密码登录,重启mysql

hadoop@ycm:~$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
hadoop@ycm:~$service mysql restart

在[mysqld]中添加skip-grant-tables

第二步:进入mysql交互模式

mysql -u root -p

然后直接回车就行

第三步:

mysql> use mysql; 
mysql>flush privileges;
mysql>UPDATE user SET authentication_string="" WHERE user="root";//先把root密码置为空
mysql>flush privileges;
mysql>ALTER user 'root'@'localhost' IDENTIFIED BY 'Ycm@123nihao';//再重置密码

注意:密码格式必须符合要求,不然会报错的。mysql8貌似是要求必须包括大小写,数字和特殊字符。

第四步:quit退出mysql交互模式,去掉之前加的skip-grant-tables,再重启mysql

第五步:这回mysql -u root -p输入设置的正确密码就能进入mysql了

原文地址:https://www.cnblogs.com/y-c-m520/p/14060382.html