有台服务器 linux+apache+mysql+php 另安装了phpmyadmin
使用phpmyadmin可以正常访问服务器
可是用我自己写的php
连接数据库说目标机器积极拒绝。无法连接……。    $username = "Test";   
    $psword = "123456";  
    $hostname = "10.12.18.27";  
    $dbName = "TestDb";     $server_link = mysql_connect("$hostname","$username","$psword")  
            or die("Can't connect to server" . mysql_error()); 
这句话就出问题…………。娘亲啊,没天理
用root 或Test账号,在phpmyadmin都可以正常登陆.
唯一的差别就是phpmyadmin在服务器上面
我的php代码在我电脑上面(Apache+php+win7)
再说Test账号,什么远程登陆,任意位置登陆功能全打开了的……

解决方案 »

  1.   

    没有开放mysql远程连接的权限
      

  2.   

    你是说用户权利吗?
    %
    localhost 
    127.0.0.1
    主机名这四个全开了的。之前都是正常的。
    就服务器重启了下
    就这样了
      

  3.   

    你可以用sqlyog或者命令行去连接看看。看能不能连接成功。
      

  4.   

    mysql 数据库里的 user 表的 host 项,从 localhost 改称 % 
    或者新加条记录,host 项为 你本地的ip地址,并授权
    重启mysql服务规矩的做法:
    使用 GRANT 命令
    你想myuser使用mypassword从任何主机连接到mysql服务器的话。 
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 
    如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码 
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 
      

  5.   


    想不明白为什么。
    我把test账号删了,再新建一个test,权限开的是一模一样的%
    localhost 
    127.0.0.1
    主机名