重启服务器后出现MySQL 'localhost' (10061)错误怎么办

60次阅读
没有评论

共计 4311 个字符,预计需要花费 11 分钟才能阅读完成。

行业资讯    
数据库    
重启服务器后出现 MySQL localhost (10061)错误怎么办

丸趣 TV 小编给大家分享一下重启服务器后出现 MySQL localhost (10061)错误怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

重起服务器后出现 MySQL localhost (10061)错误,开始以为是因为数据库链接打开过多,数据库资源耗尽的缘故,但是重启服务器以后,仍旧出现问题,于是在网上查找解决方法。大体如下: 

解决办法: 
第一步  
删除 c:\windows\ 下面的 my.ini 
第二步  
打开 c:\mysql\bin\winmysqladmin.exe 输入用户名 和密码  
第三步 在 dos 下 输入 mysqld-nt -remove 删除服务  
在接着输入 mysqld-nt -install 
第四步 输入 mysql 启动成功。 
其它可参考的方法: 
1. 看看 hosts 文件中 localhost 是不是指向 127.0.0.1 
2. 如果是没启动 mysql 服务,则可运行 net start mysql。 
3. 一些相关命令: 
mysqld-nt –install #启动 Mysql 
mysql #运行 Mysql 
mysql -h ipAddress -u username -p 
或者:直接去 bin 里点 mysqld.exe 或 mysqld-nt.exe,看下它的进程能否正常运行,如不行,再去控制面板,服务里去启动它,看下是什么错误。如果不行,就在添加删除里删去 mysql,然后再重装 mysql,一般都能解决问题,可以在安装前备份一下 DATA。 
Error: Can t connect to MySQL server on localhost (10061) 
Errno.: 2003 
错误编号:2003 
问题分析: 
无法连接到 MySQL 服务器,可能的情况为: 
1、MySQL 服务没有启动,一般是在异常的情况下 MySQL 无法启动导致的,比如无可用的磁盘空间,my.ini 里 MySQL 的 basedir 路径设置错误等; 
2、MySQL 服务器资源紧张,导致无法连接。 
解决方法: 
1、如果你是虚拟主机用户(购买的空间),则联系空间商检查 MySQL 是否正常启动,并确认 MySQL 的配置信息(是否为 localhost); 
2、如果你是独立主机用户(拥有管理主机权限),则按下面步骤检查: 
1)检查磁盘空间是否还有剩余可用空间,尽量保持有足够的磁盘空间可用。 
2)检查 my.ini 里的 basedir(MySQL 安装地址)和 datadir(数据目录存放地址)等参数设置是否正确,然后重新启动下 MySQL 服务。 
还有一种方法是将服务器的 windows 补丁。 
微软 9 月 9 日发布了 TCP/IP 更新补丁(KB967723),如果服务器开启自动更新或者有自动更新软件下载更新了这个补丁,那么就会出现这个问题。 
有人可能会问,为什么 9 号出现的补丁,到现在才发现问题? 
大家都知道,服务器不是每天都重启的,有的服务器可能一个月或者一年半载重启一次,有的可能在 9 月 9 日以后重启过服务器,所以补丁生效了(我个人这么认为)。 
补丁卸载方法:登录服务器,进入控制面板 — 添加和删除程序 —(勾选上方的“显示更新”) 
在里面可以看到更新的 KB967723 这个补丁,然后就想卸载普通软件一样卸载,卸载中会提示你,如果卸载可能导致程序运行出错,没关系,选择“是”,继续卸载。 
卸载完成后程序服务器,一切正常! 
至于该补丁修补什么漏洞,卸载后是否会出现服务器安全隐患,这个先不说,要 MYSQL 正常运行,临时的解决办法只有如此。 

还有种情况下,你可以这样解决  
Discuz! info: Can not connect to MySQL server 

Time: 2007-11-13 6:25pm 
Script: /bbs/index.php 

Error: Can t connect to MySQL server on localhost (10061) 
Errno.: 2003 

Similar error report has beed dispatched to administrator before. 
正常情况下原因如下: 
网站论坛访问量过大, 数据库连接超过最大连接数.MYSQL 数据库服务停止了. 

解决方法(针对 WIN 系统): 
1, 首先到系统服务里面找到 MYSQL 服务并启动 MYSQL 服务. 
2, 到 MYSQL 安装目录找到 MY.INI 文件, 打开 MY.INI 查找 max_connections 修改连接数为 1000 重启 IIS 与 MYSQL 服务.

window 下  
命令行下输入: 
cd E:\mysql\bin 
mysqladmin -u root password 你的密码  
mysql -u root -p 
Enter password: 你的密码  
便可以  

、、、、、、、、、、、、、、、、、 
找到了根本原因,在此凉一下: 

导致此问题的根源在:因为给 mysql 的 root 设置了密码,而不是最初安装好时的密码为空,所以使用  

mysqladmin version 这样子不行了,必须这样子:mysqladmin -uroot -p version,回车后按照提示要求输入  

root 密码即可成功运行命令。 

第一种方法其实就是在不知道 root 密码的情况下的一种解决办法,那样子启动不用密码即可进 mysql 

里面并进行 root 密码的修改,解决忘记了 root 密码的问题。 

输入命令“mysqladmin -u root password 你的密码”作用是修改 root 用户的密码,这条命令能够不经  

提示输入原密码而成功执行,也说明了原密码是空。之后使用修改后的密码自然能够成功登录。 

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。怎么更改密码? 
首先要声明一点,大部分情况下,修改 MySQL 是需要有 mysql 里的 root 权限的,所以一般用户无法更改密码  

,除非请求管理员。 

方法一  
使用 phpmyadmin,这是最简单的了,修改 mysql 库的 user 表, 
不过别忘了使用 PASSWORD 函数。 
方法二  
使用 mysqladmin,这是前面声明的一个特例。 
mysqladmin -u root -p password mypasswd 
输入这个命令后,需要输入 root 的原密码,然后 root 的密码将改为 mypasswd。 
把命令里的 root 改为你的用户名,你就可以改你自己的密码了。 
当然如果你的 mysqladmin 连接不上 mysql server,或者你没有办法执行 mysqladmin, 
那么这种方法就是无效的。 
而且 mysqladmin 无法把密码清空。 
下面的方法都在 mysql 提示符下使用,且必须有 mysql 的 root 权限: 

方法三  
mysql INSERT INTO mysql.user (Host,User,Password) 
VALUES(% , jeffrey ,PASSWORD( biscuit  
mysql FLUSH PRIVILEGES 
确切地说这是在增加一个用户,用户名为 jeffrey,密码为 biscuit。 
在《mysql 中文参考手册》里有这个例子,所以我也就写出来了。 
注意要使用 PASSWORD 函数,然后还要使用 FLUSH PRIVILEGES。 
方法四  
和方法三一样,只是使用了 REPLACE 语句  
mysql REPLACE INTO mysql.user (Host,User,Password) 
VALUES(% , jeffrey ,PASSWORD( biscuit  
mysql FLUSH PRIVILEGES 
方法五  
使用 SET PASSWORD 语句, 
mysql SET PASSWORD FOR = PASSWORD(biscuit  
拟也必须使用 PASSWORD()函数, 
但是不需要使用 FLUSH PRIVILEGES。 
方法六  
使用 GRANT … IDENTIFIED BY 语句  
mysql GRANT USAGE ON *.* TO IDENTIFIED BY biscuit  
这里 PASSWORD()函数是不必要的,也不需要使用 FLUSH PRIVILEGES。 
注意:PASSWORD() [不是]以在 Unix 口令加密的同样方法施行口令加密。 
MySQL 忘记口令的解决办法  
如果 MySQL 正在运行,首先杀之:killall -TERM mysqld。 
启动 MySQL:bin/safe_mysqld –skip-grant-tables  
就可以不需要密码就进入 MySQL 了。 
然后就是  
use mysql 
update user set password=password(new_pass) where user= root  
flush privileges; 
重新杀 MySQL,用正常方法启动 MySQL。 

linux 下  
方法一: 
# /etc/init.d/mysql stop 
# mysqld_safe –user=mysql –skip-grant-tables –skip-networking  
# mysql -u root mysql 
mysql UPDATE user SET Password=PASSWORD(newpassword) where USER= root  
mysql FLUSH PRIVILEGES; 
mysql quit 

# /etc/init.d/mysql restart 
# mysql -uroot -p 
Enter password: 输入新设的密码 newpassword  

mysql  

方法二: 
直接使用 /etc/mysql/debian.cnf 文件中 [client] 节提供的用户名和密码: 
# mysql -udebian-sys-maint -p 
Enter password: 输入 [client] 节的密码  
mysql UPDATE user SET Password=PASSWORD(newpassword) where USER= root  
mysql FLUSH PRIVILEGES; 
mysql quit 

# mysql -uroot -p 
Enter password: 输入新设的密码 newpassword  

mysql  

方法三: 

# mysql -uroot -p 
Enter password: 输入 /etc/mysql/debian.cnf 文件中 [client] 节提供的密码

以上是“重启服务器后出现 MySQL localhost (10061)错误怎么办”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-15发表,共计4311字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)