初学的mysql网友好象经常会碰到mysql无法连接的错误。特开贴收集这样问题的现象和原因。先自己扔块砖头出来。=====================================================================================================
故障现象 : 无法连接 mysql 
错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061)
原因 : mysqld数据库服务没有启动。
检查 :在windows 的任务管理器,或者 unix/linux 下 ps -aux | grep mysql 看一下。确认服务已经启动。
处理 :启动mysqld 服务
=====================================================================================================

解决方案 »

  1.   

    ==========================================================================
    故障现象 : 无法连接 mysql 
    错误信息 :ERROR 1130: Host xx.xx.xx.xx is not allowed to connect to this MySQL server 
    原因 : mysql服务器没有赋予此客户端远程连接的权限。 
    检查 :在mysql服务器本地查询mysql库里user表对应的host是否包含客户端机器的IP(%为不限制IP允许远程连接)。 
    处理 :修改mysql库下的user表:update user set host = '%'  where user ='XXX';flush privileges;
    ====================================================================================
      

  2.   


    =====================================================================================================
    故障现象 : 无法连接 mysql 
    错误信息 :ERROR 1045 (28000): Access denied for user 'usera'@'localhost' (using password:YES)
    原因 : 用户账号并未创建
    检查 :以管理员ROOT登录后,show grants for 'usera'@'localhost'; 或者 select user from mysql.user; 确认用户账号是否存在。
    处理 :创建用户账号。
    =====================================================================================================
    什么权限的用户才可以创建用户。
    The CREATE USER statement creates new MySQL accounts. To use it, you must have the global CREATE USER privilege or the INSERT privilege for the mysql database
      

  3.   

    在mysql中对应的具体权限是哪个呢?是不是mysql数据库的insert权限就可以创建用户了,我试了不能创建用户啊。
      

  4.   

    明白了,后面加一个with grant option就可以了。
      

  5.   

    在此鄙视一下所有喜欢乱转别人文章的人,每每在百度谷歌搜索一些技术问题,总能搜到一大堆内容一样的blog,讨厌的是他们都是转载而来,也不看看文章是否正确,是否完整,通常如果有错,那么所有的转载都是错误的,每个链接都一样。
    -----------------------------------------------------------
    废话不说了,我前两天就碰到一个,不知道算不算。
    把mysql库中的user表中user字段为“root”值的记录的host字段改成了“*”(这个就是网上那些该死的转载blog的误导,说是能支持所有ip访问)这样改的结果是死活都进不去了,输入密码后就“嘟”一声没了,包括在本机localhost进。解决方法是备份mysql安装路径下的data文件夹,接着把mysql完全卸载,然后重启电脑,重新安装mysql,最后将data文件夹下除了“mysql”文件夹之外的所有文件夹和文件复制到新装的mysql的路径下,即可解决。mysql库中的user表中user字段为“root”值的记录的host字段的默认值是“localhost”,远程连接报错的朋友们只需要重新运行一下mysql的配置程序,在输入密码的界面有一个checkbox的地方打上勾(允许远程连接),就行了,根本不是网上那n多狗屁blog转载的那样,第一是改表法,第二是授权法,真是狗屁。
      

  6.   

    你的用户没有使用 root  账户,或者你的root账户没有授予登录权限,需要使用
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    授权
      

  7.   

    ===================================================================================================== 
    故障现象 : 无法连接 mysql 
    错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061) 
    原因 : mysqld 客户端与服务端端口不一致。 
    检查 :在my.ini 设置下服务端口 这种情况特别是客户都与远程服务器端口不一致 很容易出现的问题
    处理 :启动mysqld 服务 
    ===================================================================================================== 
      

  8.   

    初学的mysql网友好象经常会碰到mysql无法连接的错误。特开贴收集这样问题的现象和原因。 先自己扔块砖头出来。 ===================================================================================================== 
    故障现象 : 无法连接 mysql windows
    错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061) 
    原因 :  同时开启大量的tcp端口和而仅有一小部分短命端口时,当他们处于time_wait时期,mysql可能会跑错端口
    检查 :在windows 默认会开启5000个临时端口供调用,而他们的生命仅仅是120s,意思是在关闭端口的时候会有120秒的延时
    处理 :减少不不必要的tcp端口。
    修改注册表
    ===================================================================================================== 
      

  9.   

    常常碰到一种:密码不正确
    ================================
    C:\Documents and Settings\Administrator>mysql -uroot -p
    Enter password: ***
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:
    ES)
    ==================================
      

  10.   

    1、服务没启动
    "telnet 127.0.0.1 端口" 不通或在服务列表里面检查服务没存在2、访问没权限
    检查mysql.user表里面的登陆帐号的权限3、网络不通4、防火墙屏蔽了端口5、密码错误
      

  11.   

    6、本地环境变量里的mysql客户端的端口跟要连接的服务器mysql端口不一致,而在连接时又没多加端口参数-P
      

  12.   

    ===================================================================================================== 
    故障现象 : 无法连接 mysql 
    错误信息 :ERROR 2002 (HY000): Can't connect to local MySQL server server through socket '/var/lib/mysql/mysql.sock'(111) 
    原因 : mysqld的mysql.sock没在相应的位置。
    处理 :1.先查看/etc/rc.d/init.d/mysql status 看看是否启动
    2.改权限 chown -R mysql:msyql /var/lib/mysql
    3.修改/etc/my.cnf (注意:先停数据库)
    [mysqld]
    datadir=/usr/local/mysql/data
    socket=/var/lib/mysql/mysql.sock
    [mysql.server]
    user=mysql
    basedir=/usr/local/mysql
    [client]
    socker=/var/lib/mysql/mysql.sock
    4.启动数据库
    ===================================================================================================== 
      

  13.   

    再次感谢大家。归纳如下:故障现象 : 无法连接 mysql 
    ===================================================================================
    错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061)
    原因 : mysqld数据库服务没有启动。
    检查 :在windows 的任务管理器,或者 unix/linux 下 ps -aux | grep mysql 看一下。确认服务已经启动。
    处理 :启动mysqld 服务
    ===================================================================================
    错误信息 :ERROR 1130: Host xx.xx.xx.xx is not allowed to connect to this MySQL server 
    原因 : mysql服务器没有赋予此客户端远程连接的权限。 
    检查 :在mysql服务器本地查询mysql库里user表对应的host是否包含客户端机器的IP(%为不限制IP允许远程连接)。 
    处理 :修改mysql库下的user表:update user set host = '%'  where user ='XXX';flush privileges;
    ===================================================================================
    错误信息 :ERROR 1045 (28000): Access denied for user 'usera'@'localhost' (using password:YES)
    原因 : 用户账号并未创建
    检查 :以管理员ROOT登录后,show grants for 'usera'@'localhost'; 或者 select user from mysql.user; 确认用户账号是否存在。
    处理 :创建用户账号。
    ===================================================================================
    错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061) 
    原因 : mysqld 客户端与服务端端口不一致。 
    检查 :在my.ini 设置下服务端口 这种情况特别是客户都与远程服务器端口不一致 很容易出现的问题
    处理 :启动mysqld 服务 
    ===================================================================================
    错误信息 :ERROR 2002 (HY000): Can't connect to local MySQL server server through socket '/var/lib/mysql/mysql.sock'(111) 
    原因 : mysqld的mysql.sock没在相应的位置。
    处理 :1.先查看/etc/rc.d/init.d/mysql status 看看是否启动
           2.改权限 chown -R mysql:msyql /var/lib/mysql
           3.修改/etc/my.cnf (注意:先停数据库)
           [mysqld]
           datadir=/usr/local/mysql/data
           socket=/var/lib/mysql/mysql.sock
           [mysql.server]
           user=mysql
           basedir=/usr/local/mysql
           [client]
           socker=/var/lib/mysql/mysql.sock
           4.启动数据库
    ===================================================================================
    常用检查步骤。1. PING hostname 或 PING 189.xx.xx.xx 确认服务器IP层通信没有问题。如果PING通则继续(2),PING不通则找网络方面专家协助。
    2. TELNET hostname 3306  确认服务器TCP层通信没有问题。(你的端口号可能不是3306),如通则继续,如不通,请检查mysqld 是否已经在运行,防火墙屏蔽了端口。
    3. 检查用户权限, show grants ...
      

  14.   

    连接Mysql时候出现了2003-Can't connent to MySQL server on 'localhost'  
    确认已关闭防火墙 mysql 服务启动 连接数为0
    就是无法连接  
    dos 环境下 net start mysql 成功 
    dos 环境下 运行 mysql root root 成功
    但是无法解决 无法连接问题 急待解决 谢谢
      

  15.   

    //这里是conn.php
    <?php
         $conn = mysql_connect("localhost","root","123456") or die("数据库服务器连接错误".mysql_error());
         mysql_select_db("gbook",$conn);
     mysql_query("set names 'GBK'");  //使用中文编码;
    ?>//这里是add.php
    <?php
    include("conn.php");if($_POST['submit']){
      $sql="insert into ibog_leveword (id,user,title,content,time) ".
    "value (``, `$_POST[user]`, `$_POST[title]`, `$_POST[content]`, now( ) )";
    mysql_query($sql,$conn);
    echo "发表成功";}?>
    <form action="add.php" method="post" name="myform" onsubmit="return CheckPost();">
    <b>您的用户名:</b><br><input name="user" type="text" size="55"><br>
    <b>您的标题:</b><br><input name="title" type="text" size="55"><br> 
    <b>您的内容:</b><br><textarea name="content"></textarea><br> 
    <input name="submit" type="submit" value="Post your comments"> 
    </form>请各位高手帮我看下,怎么写不进MYSQL中,
    该怎么写????
      

  16.   

    你说的这种情况我也有,我用的是root账户,权限也有,但是还是出现这种情况
      

  17.   

    错误信息 :ERROR 1045 (28000): Access denied for user 'usera'@'localhost' (using password:YES)
    原因 : 用户账号并未创建
    检查 :以管理员ROOT登录后,show grants for 'usera'@'localhost'; 或者 select user from mysql.user; 确认用户账号是否存在。
    处理 :创建用户账号
    我用的是root账户,但是还是会提示这些
      

  18.   

    =====================================================================================================
    故障现象 : 本地无法 mysql -u root -p 用原来的密码登录,但可以用无密码,远程必须用原密码登录  
    错误信息 :ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    原因 : 未知,不知道是否mysql的新密码控制策略
    检查 :mysql -u root 密码空登录无问,远程用navica mysql无密码有问题,有密码无问题
    处理 :暂时先把本地登录的密码去掉
    版本环境:mysql  Ver 14.14 Distrib 5.1.56, for debian-linux-gnu (i486) using readline 6.2
    =====================================================================================================求助,不知道大家有一样的情况没有?
      

  19.   

        MYSQL mysql;
        mysql_init (&mysql);
        if(!mysql_real_connect(&mysql,"localhost","root","welcom","mydb",3306,NULL,0))
        {
            AfxMessageBox("数据库连接失败"); 
            return FALSE;
        }数据源已添加 可就是连不上 直接跳到数据库连接失败
      

  20.   

    最近也碰到了一个错误,连接时提示
    Error No. 2003
    Can't connect to MySql server on '192.168.238.23'(10065)这个应该是没有允许所在IP段的访问
      

  21.   

    Lost connectiion to MySQL server during query.
    按照网上说的方法仍没解决,楼主是否碰见过?
      

  22.   

    补充一个原因:
    有可能是你的服务器tcp/ip端口没打开造成的。
    在TCP/IP设置里看看。
      

  23.   

    ==========================================================
    C:\Windows\system32>sc query mysqlSERVICE_NAME: mysql
            TYPE               : 10  WIN32_OWN_PROCESS
            STATE              : 4  RUNNING
                                    (STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
            WIN32_EXIT_CODE    : 0  (0x0)
            SERVICE_EXIT_CODE  : 0  (0x0)
            CHECKPOINT         : 0x0
            WAIT_HINT          : 0x0C:\Windows\system32>net start mysql
    请求的服务已经启动。请键入 NET HELPMSG 2182 以获得更多的帮助。
    C:\Windows\system32>mysql -uroot -p
    Enter password: ******
    ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10051)C:\Windows\system32>
    ==============================================================================
    这个怎么解决呀???????????????????
      

  24.   

    Lost connection to MySQL server at 'reading initial communication packet', system error: 0
    什么问题??
      

  25.   

    几天没用,今天mysql服务就起不来了,10067,
    试过很多方法都不行,重装了n次,就差重装系统了,依然是10067
    错误信息:
     [ERROR] Can't create IP socket: No such file or directory
     [ERROR] Aborting不知道是什么原因~~
      

  26.   

    Lost connection to MySQL server at 'reading initial communication packet', system error: 0
    什么问题??
      

  27.   

    看到10061,心凉了半截。。 我的MySql依然61着。。
      

  28.   

    Warning: mysql_connect() [function.mysql-connect]: [2002] A connection attempt failed because the connected party did not (trying to connect via tcp://localhost:3306) in F:\myenv\apache\htdocs\text.php on line 2你好,请问这是什么问题呢?
    真心虐心啊。
    谢谢