Can''t connect to MySQL server on localhost (10061)解决方法

2022-11-12 09:23:47
内容摘要
这篇文章主要为大家详细介绍了Can''t connect to MySQL server on localhost (10061)解决方法,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记
文章正文

这篇文章主要为大家详细介绍了Can''t connect to MySQL server on localhost (10061)解决方法,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

首先检查MySQL 服务没有启动》如果没有启动,则要启动这个服务。

有时候安装mysql后使用mysql命令时报错Can't connect to MySQL server on localhost (10061),或者用net start mysql 时报服务名无效,一般是因为mysql服务没有启动。

这时候可以用管理身份运行cmd.exe(注意必须是管理员身份运行),否则会报Install/Remove of the Service Denied! 可以在下图路径中找到cmd.exe,右键用管理员身份运行。

cmd在管理员权限的几种运行方法

1、win+R打开运行窗口。

2、在找到的cmd.exe中点右键,选择,以管理员身份运行。

第二种方法

直接搜索栏输入CMD后(不要立即回车进入),按住CTRL+SHIFT+ENTER键可直接进入管理员模式命令行。

第三种方法、如果安装了powershell的朋友可以如下

然后将mysql加入到Windows的服务中。切换到mysql安装目录下的bin文件夹,命令行运行"mysqld --install"。

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --install

此时使用“net start mysql”成功启动msyql,一般就可以正常启动mysql了

有时候还是解决不了

mysql8版本的问题

我实测的MySQL8.0安装方法和网上的所有教程都不同,所以我不对比了,我直接说我摸索的正确步骤。

1.下载MySQL8.0后解压,根目录没有data文件夹和my.ini文件,我们也不要创建。2.将“根目录/bin”路径添加到环境变量中,如果不添加就每次执行命令的时候都要带路径,因为我添加了,所以我是不带路径的。3.用管理员启动命令行,win10是右键左下角win图标,选择“Windows powershell(管理员)”。4.输入mysqld--initialize-insecure--user=mysql5.然后输入mysqld --install mysql(这一步和博客不同)6.net start mysql7.mysql -uroot -p 这时候要输入密码,因为没有密码默认按回车即可进入mysql>,但是不能直接输入mysql进入数据库,一定要mysql -uroot -p回车然后再回车。以上操作之后,是不能用最新的Navicat for SQL建立链接的,好像是加密方式不同导致的,一下操作可以设立密码+修复不能用Navicat的问题:

8.进入mysql后,下列操作可以建立密码,并且实现Navicat链接: ALTERUSER'root'@'localhost'IDENTIFIEDBY'密码'PASSWORDEXPIRENEVER;是ALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_native_passwordBY'密码';FLUSH PRIVILEGES;

特殊说明:

1.这个方法是我参考博客+自己摸索的,博客内容不多,大家可以比较,我一步一步慢慢来发现不能自己建data文件夹、不能自己建立my.ini,摸索过程真是...

2.我并不是按照上面的顺序成功的,实际是失败了很多次之后,按照博客的方法执行了mysqld--removemysql,然后把data文件夹和my.ini文件删除了,从第4部开始,后面成功了。

下面是其他网友的补充

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

mysql5版本

解决办法:

第一步删除c:\windows\下面的my.ini第二步打开c:\mysql\bin\winmysqladmin.exe 输入用户名 和密码第三步 在dos下 输入 mysqld-nt -remove 删除服务在接着输入 mysqld-nt -install第四步 输入mysql 启动成功。其它可参考的方法:1.看看hosts文件中localhost是不是指向127.0.0.12.如果是没启动mysql服务,则可运行net start mysql。3.一些相关命令:mysqld-nt --install #启动Mysqlmysql #运行Mysqlmysql -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 serverTime: 2007-11-13 6:25pmScript: /bbs/index.phpError: Can't connect to MySQL server on 'localhost' (10061)Errno.: 2003Similar 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 -pEnter 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 mysqlmysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';mysql> FLUSH PRIVILEGES;mysql> quit# /etc/init.d/mysql restart# mysql -uroot -pEnter password: <输入新设的密码newpassword>mysql>方法二:直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:# mysql -udebian-sys-maint -pEnter password: <输入[client]节的密码>mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';mysql> FLUSH PRIVILEGES;mysql> quit# mysql -uroot -pEnter password: <输入新设的密码newpassword>mysql>方法三:# mysql -uroot -pEnter password: <输入/etc/mysql/debian.cnf文件中[client]节提供的密码>

注:关于Can&#39;&#39;t connect to MySQL server on localhost (10061)解决方法的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!