Linux/Windows MySQL5.7及以上忘记密码或安装没提示输入密码如何解决

在安装MySQL5.7或更高版本时未提示设置密码,导致无法使用root用户登录。通过编辑配置文件找到默认用户名(debian-sys-maint)和密码,使用该账户登录后,修改root用户的authentication_string字段来重置密码。完成密码重置后,记得重启MySQL服务以应用更改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装MySQL最新版本:

sudo apt-get install mysql-server
sudo apt-get install mysql-client

检查MySQL是否运行:

sudo netstat -tap | grep mysql

如果成功安装,我的会显示如下内容:

tcp 0 0 localhost:mysql *:* LISTEN 18475/mysqld

PS:重启/打开/关闭MySQL的方法是:`sudo service mysql restart/start/stop`

 

就这两个命令就安装好了,可是我在安装过程中并没有出现要我写用户名和密码的地方,我一脸懵逼,

完成后在终端输入mysql -u root -p之后,要求我输入密码,可是我并不知道密码,随便输入之后,

 

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

 

百度了三五个小时,解决方案五花八门,我最后使用有效的方法是:

打开一个文件

sudo vim /etc/mysql/debian.cnf

 

在这个文件里面有着MySQL默认的用户名和用户密码,

最最重要的是:用户名默认的不是root,而是debian-sys-maint,如下所示

# Automatically generated for Debian scripts. DO NOT TOUCH!

[client]

host = localhost

user = debian-sys-maint

password = hGu99nJgoWcmCDKT

socket = /var/run/mysqld/mysqld.sock

[mysql_upgrade]

host = localhost

user = debian-sys-maint

password = hGu99nJgoWcmCDKT

socket = /var/run/mysqld/mysqld.sock

basedir = /usr

密码会随即给一个很复杂的,这个时候,要进入MySQL的话,就是需要在终端把root更改为debian-sys-maint,如下代码

mysql -u debian-sys-maint -p

1

然后终端会提示你输入密码



Enter password:

1

这是输入文件中的密码即可成功登陆。

当然了,这之后就要修改密码了,毕竟密码太难记。

 

经过度娘的指导,我所安装的版本是5.7,所以password字段已经被删除,取而代之的是authentication_string字段,所以要更改密码:

mysql> use mysql;

mysql> update user set authentication_string=PASSWORD("自定义密码") where user='root';

mysql> update user set plugin="mysql_native_password";

mysql> flush privileges;

mysql> quit;

如果正确输入都会提示OK字样,如下:

Query OK, 1 row affected, 1 warning (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 1

则代表成功修改,之后需要*重启**MySQL,方可登录成功。

顺便说一下删除MySQL的方法,省的之后再找度娘。

代码如下:

sudo apt-get autoremove --purge mysql-server-5.7

sudo apt-get remove mysql-server

sudo apt-get autoremove mysql-server

sudo apt-get remove mysql-common

上面的可能会有些是多余的,之后需要清理残余数据

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值