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

首先检查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=mysql
5.然后输入mysqld --install mysql(这一步和博客不同)
6.net start mysql
7.mysql -uroot -p 这时候要输入密码,因为没有密码默认按回车即可进入mysql>,但是不能直接输入mysql进入数据库,一定要mysql -uroot -p回车然后再回车。
以上操作之后,是不能用最新的Navicat for SQL建立链接的,好像是加密方式不同导致的,一下操作可以设立密码+修复不能用Navicat的问题:

8.进入mysql后,下列操作可以建立密码,并且实现Navicat链接: ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;
是ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; 
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.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]节提供的密码>

(0)

相关推荐

  • Can't connect to MySQL server on 'localhost' (10048)问题解决方法

    解决Can't connect to MySQL server on 'localhost' (10048), 一般见于使用mysql的windows 2003服务器. 错误的出现的原因: 应用程序需要快速释放和创建新连接, 但是由于 TIME_WAIT 中存在的连接超过默认值,导致较低吞吐量. 解决方案: 和本错误密切相关的两个windows的注册表项:TcpTimedWaitDelay和MaxUserPort的值. TcpTimedWaitDelay 确定 TCP/IP 可释放已关闭连接并重

  • ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'

    错误信息: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 出现问题原因: 有可能是 my.cnf 配置文件中设置了 [mysqld] 的参数 socket ,而没有设置[client]的参数socket mysql.sock 文件有什么用: mysql 支持 socket 和 TCP/IP 连接.那么 mysql.sock 这个文件有什么用呢?连接local

  • MySQL错误ERROR 2002 (HY000): Can't connect to local MySQL server through socket

    在安装好了MySQL之后,使用了新的配置文件后,MySQL服务器可以成功启动,但在登陆的时候出现了ERROR 2002 (HY000): Can't connect to local MySQL server through socket,即无法通过socket连接到mysql服务器,同时提供了socket文件的位置.下面是这个问题的描述与解决办法. 1.故障现象 复制代码 代码如下: [root@SZDB mysqldata]# mysql -uroot -p123456 Warning: U

  • php运行提示Can't connect to MySQL server on 'localhost'的解决方法

    错误编号:2003 问题分析: 无法连接到 MySQL 服务器,可能的情况为: 1.MySQL 服务没有启动,一般是在异常的情况下 MySQL 无法启动导致的,比如无可用的磁盘空间,my.ini 里 MySQL 的 basedir 路径设置错误等: 2.MySQL 服务器资源紧张,导致无法连接. 解决方法: 1.如果你是虚拟主机用户(购买的空间),则联系空间商检查 MySQL 是否正常启动,并确认 MySQL 的配置信息(是否为 localhost): 2.如果你是独立主机用户(拥有管理主机权限

  • php 不能连接数据库 php error Can't connect to local MySQL server

    测试的php文件 <?php $link=mysql_connect('localhost','root','zz') or die(mysql_error()); mysql_select_db('test') or die('no db'); mysql_query('SET NAMES utf8'); echo 99; ?> 运行后报错 Can't connect to local MySQL server through socket '/tmp/mysql.sock' 但在 命令行中

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

    首先检查MySQL 服务没有启动>如果没有启动,则要启动这个服务. 昨天,重起服务器后出现MySQL 'localhost' (10061)错误,开始以为是因为数据库链接打开过多,数据库资源耗尽的缘故,但是重启服务器以后,仍旧出现问题,于是在网上查找解决方法.大体如下: 解决办法: 第一步 删除c:\windows\下面的my.ini 第二步 打开c:\mysql\bin\winmysqladmin.exe 输入用户名 和密码 第三步 在dos下 输入 mysqld-nt -remove 删除服

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

    首先检查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,右键

  • Mysql数据库报错2003 Can't connect to MySQL server on 'localhost' (10061)解决

    目录 起因: 第一步:查看服务 第二步:查看Mysql服务 第三步:分析原因 第三步做完,可以去试试看能不能连接上了. 第四步:如果是缺少服务 总结 起因: 电脑上好久没用数据库了,结果在启动的时候说链接不上 网上找了几个办法,对我没有用,我试到了一个有用的,放在这里. 为了提高电脑的运行速度,我曾经把后台自动运行的服务都关闭了.所以 第一步:查看服务 打开你的任务管理器,有一个直接进入服务的链接.当然其他方式也是可以找到服务的. 服务界面如图: 第二步:查看Mysql服务 第三步:分析原因 看

  • php运行提示Can't connect to MySQL server on 'localhost'的解决方法

    错误编号:2003 问题分析: 无法连接到 MySQL 服务器,可能的情况为: 1.MySQL 服务没有启动,一般是在异常的情况下 MySQL 无法启动导致的,比如无可用的磁盘空间,my.ini 里 MySQL 的 basedir 路径设置错误等: 2.MySQL 服务器资源紧张,导致无法连接. 解决方法: 1.如果你是虚拟主机用户(购买的空间),则联系空间商检查 MySQL 是否正常启动,并确认 MySQL 的配置信息(是否为 localhost): 2.如果你是独立主机用户(拥有管理主机权限

  • Navicat premium连接数据库出现:2003 Can't connect to MySQL server on'localhost'(10061)

    问题 Navicat premium连接数据库时,出现以下问题 2003 - Can't connect to MySQL server on 'localhost' (10061 "Unknown error") 解决方案 原因为Mysql未启动,开启本地的MySQL服务即可 步骤1. 打开此电脑的管理 步骤2. 开启Mysql服务 到此这篇关于Navicat premium连接数据库出现:2003 - Can't connect to MySQL server on 'localh

  • 解决MySQL启动报错:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

    这个错误是新手经常会遇到的,本文主要介绍如何修复ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061) 解决方案: 1.登录到安装Mysql的主机,打开cmd命令行工具,执行命令mysql -uroot -p,报出下面所描述的错误: 2.在开始菜单中找到计算机管理,在计算机管理中找到[服务],在服务检查是否存在Mysql服务: 3.如果[步骤2]中找不到Mysql服务需要手动安装Mysql服务,安装命令为m

  • Can't connect to MySQL server on 'localhost' (10048)问题解决方法

    解决Can't connect to MySQL server on 'localhost' (10048), 一般见于使用mysql的windows 2003服务器. 错误的出现的原因: 应用程序需要快速释放和创建新连接, 但是由于 TIME_WAIT 中存在的连接超过默认值,导致较低吞吐量. 解决方案: 和本错误密切相关的两个windows的注册表项:TcpTimedWaitDelay和MaxUserPort的值. TcpTimedWaitDelay 确定 TCP/IP 可释放已关闭连接并重

  • SELinux导致PHP连接MySQL异常Can't connect to MySQL server的解决方法

    同事报告一起奇怪的现象,一个最简单的测试PHP代码,在测试环境很正常,但是在正式环境下,无论用何种方式(tcp/ip.unix socket)都无法连接mysql. 我协助查看了下,确实如此,无论是指定IP.端口的tcp/ip方式连接,或者是用unix socket方式连接,报错信息都类似: 复制代码 代码如下: Could not connect: Can't connect to MySQL server on 'MYSQL.SERVER' (13) 无论如何修改MySQL的授权,或者调整p

随机推荐