Mysql数据库无法远程访问,已经尝试过各种建立用户的方法,
包括在phpAdmin上建立,
服务器本机改表法,授权法,
主机设置为所有ip可以建立链接;
已经尝过过将防火墙删除。
但是都是无法使用客户端来链接服务器,为什么?
同样的mysql设置,在本地内网就是192.168.26访问192.168.0.3这样是能够访问。请问为什么?
网上能找到的方法都试过了,
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
诸如这些授权法,将用户主机改成%这些,就不用重复告诉我了。
我的环境是widows下面的,my.ini根本没有下面这句的,所以这个也可以不用说了。
#bind-address = 127.0.0.1
我整个环境是phpstudy2010提供安装的。localhost下的root访问完全没问题。
这个地方困扰我很久了,有哪位资深人士如果知道的话,麻烦告诉我一声。

解决方案 »

  1.   

    把你user表中的host,user字段记录打印出来,还有你连接时具体问题
      

  2.   

    是外网的远程访问。
    user表
    链接的时候提示:(在本地php链接远程的数据,要很久才出现下面的报错)
    Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 0 
      

  3.   

    你在本地使用其他的客户端程序(比如Navicat之类),可以连接到远程数据库吗?
      

  4.   

    参考下贴中的检查方法并贴出你的检查结果(#43楼)http://topic.csdn.net/u/20090920/22/14d4f597-b7d4-4c24-b0db-abb2956e66c3.html
    [收集]mysql   无法联接故障现象及原因
      

  5.   

    telnet IP <端口>
    先简单探测一下,如果不能连,就是网络的问题。先解决了这个再说。
      

  6.   

    外网在114.215...上装有Mysql(就是我的网站服务器上)
    之后我在本地,我的电脑上,ip就肯定不是上面那个服务器的,也不同一个网段的,对数据库进行访问操作。使用naviacat来连接试过,使用php来连接也试过,就是连不通。
      

  7.   

    把日志贴出来,有没有说找不到socket文件》?或者skip_network注释掉没有?
      

  8.   


    已经注销了,准确的说,我的配置文件里面原本就没有skip_network,后来加上也不行。
    部分错误日志见下:
    110607 14:50:41  InnoDB: Starting shutdown...
    110607 14:50:43  InnoDB: Shutdown completed; log sequence number 0 138734203
    110607 14:50:43 [Note] MySQL: Shutdown complete110607 14:50:47  InnoDB: Started; log sequence number 0 138734203
    110607 14:50:47 [Note] MySQL: ready for connections.
    Version: '5.0.91-community-nt-log'  socket: ''  port: 3306  MySQL Community Edition (GPL)
    InnoDB: The log sequence number in ibdata files does not match
    InnoDB: the log sequence number in the ib_logfiles!
    110607 16:57:04  InnoDB: Database was not shut down normally!
    InnoDB: Starting crash recovery.
    InnoDB: Reading tablespace information from the .ibd files...
    InnoDB: Restoring possible half-written data pages from the doublewrite
    InnoDB: buffer...
    110607 16:57:07  InnoDB: Started; log sequence number 0 138752040
    110607 16:57:46 [Note] MySQL: ready for connections.
    Version: '5.0.91-community-nt-log'  socket: ''  port: 3306  MySQL Community Edition (GPL)
    110607 17:17:30 [Note] MySQL: Normal shutdown110607 17:17:31  InnoDB: Starting shutdown...
    110607 17:17:33  InnoDB: Shutdown completed; log sequence number 0 138758240
    110607 17:17:33 [Note] MySQL: Shutdown complete110607 17:19:02  InnoDB: Started; log sequence number 0 138758240
    110607 17:19:41 [Note] MySQL: ready for connections.
    Version: '5.0.91-community-nt-log'  socket: ''  port: 3306  MySQL Community Edition (GPL)
      

  9.   

    我昨天将所有的防火墙以及防火墙有关的东西,Dr,washon什么的,ARP,qq全部删除了,重启了服务器,还是不能远程连接。太怪异了!
      

  10.   

    公布一个惊人的消息:我使用的是phpStudy2010安装包安装的mysql环境,这个安装包是方便了我们学习,但是作者也太狠了,居然禁止了创建远程访问的账户,并且开了一个隐藏的账户:test,只有这个账户能够远程访问,其他的都不能。被我无意中试出来的。各位如果使用这个安装包来做商业网站的话要小心了。
    另外,由于这个包并没有留下作者的联系方式,如果能够联系到原作者,请转告他,希望他能将聪明才智发挥在正道上,这样才会得到大家的尊敬,才能产生更多正面的利益。
      

  11.   

    我也遇到这个问题,已解决!
    其实这个问题如果网上所有的方法都试遍,都还没辙的话,那么问题一定出在你的主机服务商那里,例如,我用盛大云主机,MYSQL无论如何都无法远程连上,后来进他们后台一看,原来还有一个安全组管理,正是这里可以设置端口。