解决Can ‘t connect to local MySQL server through socket ‘/tmp/mysql.sock ‘(2) “;忘记密码后重置mysql密码。

这篇博客记录了在Ubuntu系统中安装MySQL的过程及遇到的问题。在安装后无法正常登录,通过两种方法成功重置了root用户的密码。方法一是通过查看并使用默认的debian-sys-maint用户登录,然后修改root密码;方法二是启动MySQL安全模式,无密码登录后修改密码。每种方法都包括了关闭、重启MySQL服务的步骤。

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

这上面是我的过程(只是自己记录一下) 

解决方法直接拉到末尾就好

1、先在ubuntu中安装mysql

#命令1 更新源
sudo apt-get update
#命令2 安装mysql服务
sudo apt-get install mysql-server

2、按照这个方法安装,然后进行初始化

sudo mysql_secure_installation

并没有像预想的一样,直接进入配置界面(让你为root输入密码之类的,等等)

3、然后我就开始登陆了,显示的就是下面一样的界面

4、之后我使用了下面的命令,查看mysql的端口3306,发现并没有占用。

netstat -ano | grep 3306

5、怀疑是mysql-server没有打开,于是直接输入打开命令

service mysql start
#另外关闭命令有:service mysql stop
#重启命令:service mysql restart

6、提升我输入密码,不出所料,还是密码错误

于是开始找方法,最后!!!!!!!!!!!!!!

找到两种方法如下:(方法一有时候会失效,能力有限,不知道为什么,方法二靠谱)

方法一:

sudo cat /etc/mysql/debian.cnf    #可以查看默认的MySQL数据库登录用户和密码
​
mysql -u debian-sys-maint-p        #登录mysql然后输入密码(这个密码在上一步中已经查看)
                                                       
                          #!!此时应该就已经登入了mysql!!

--------------------下面是修改密码的过程————————————

mysql> select user from mysql.user;       #查看当前存在的用户

+------------------+
| user             |
+------------------+
| debian-sys-maint |
| mysql.infoschema |
| mysql.session    |
| mysql.sys        |
| root             |
+------------------+
5 rows in set (0.00 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';  #更新密码(我输入的是123456,你随意)适用于8.0版本以上

Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;              #刷新
Query OK, 0 rows affected (0.01 sec)

mysql> quit;                           #退出
Bye

sudo /etc/init.d/mysql stop           #关闭mysql服务
sudo /etc/init.d/mysql start          #重启mysql服务
mysql -u root -p                      #用户登录,就可以使用刚刚设定的密码啦

方法二:


sudo /etc/init.d/mysql stop  #这条指令的意思是使用特权模式关闭mysql服务,之后提示你输入ubuntu_root密码,输入就可以啦

sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &    #这个启用安全模式登录,‘&’意思在后台运行
                                                                    #之后一般会报错,不用管他,继续
 
sudo mkdir -p /var/run/mysqld     #创建一个在mysqld文件

sudo chown mysql:mysql /var/run/mysqld    #修改一些权限    

sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &   #这里和上面第二条相同,应该不会出现错误 

mysql -u root    #无密码登录进入      

-------下面是修改密码的过程---------

mysql> select user from mysql.user;    #查看当前存在的用户

+------------------+
| user             |
+------------------+
| debian-sys-maint |
| mysql.infoschema |
| mysql.session    |
| mysql.sys        |
| root             |
+------------------+
5 rows in set (0.00 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';  #更新密码(我输入的是123456,你随意)适用于8.0版本以上

Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;        #刷新
Query OK, 0 rows affected (0.01 sec)

mysql> quit;                  #退出
Bye

sudo /etc/init.d/mysql stop          #关闭mysql服务
sudo /etc/init.d/mysql start         #重启mysql服务
mysql -u root -p                     #用户登录,就可以使用刚刚设定的密码啦

                             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值