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

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

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

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                     #用户登录,就可以使用刚刚设定的密码啦

                             

"Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" 是一个错误提示,它表示无法通过指定的socket连接到本地的MySQL服务器。这个错误通常出现在使用PHP连接MySQL数据库。我们可以通过以下方法来解决这个问题: 1. 确认MySQL服务器是否正在运行。可以使用以下命令来检查MySQL服务器的运行状态: ``` systemctl status mysql ``` 2. 确认MySQL服务器是否使用了正确的socket路径。通过检查MySQL配置文件中的socket路径来确认,配置文件的位置通常是`/etc/mysql/mysql.conf.d/mysqld.cnf`。 3. 如果socket路径配置正确,但仍然出现错误,可以尝试手动创建socket文件。使用以下命令可以创建socket文件: ``` sudo touch /tmp/mysql.sock ``` 4. 如果手动创建socket文件后仍然无法解决问题,可以尝试修改MySQL配置文件中的socket路径,将其指向正确的位置。确保修改后重新启动MySQL服务。 总结起来,要解决"Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)"的问题,我们需要确认MySQL服务器是否运行,检查配置文件中的socket路径是否正确,并尝试手动创建socket文件。如果问题仍然存在,可以尝试修改配置文件并重新启动MySQL服务。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Can't connect to local MySQL server through socket](https://blog.csdn.net/qq_35462323/article/details/105024596)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Can’t connect to local MySQL server through socket解决方法](https://blog.csdn.net/weixin_34112900/article/details/93854948)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值