关于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了