欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

郁闷问题,非常的郁闷。

程序员文章站 2022-06-16 14:01:57
...
有台服务器 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账号,什么远程登陆,任意位置登陆功能全打开了的……


回复讨论(解决方案)

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

没有开放mysql远程连接的权限
你是说用户权利吗?
%
localhost
127.0.0.1
主机名

这四个全开了的。

之前都是正常的。
就服务器重启了下
就这样了

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

你可以用sqlyog或者命令行去连接看看。看能不能连接成功。
错误代码 2003

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;

mysql 数据库里的 user 表的 host 项,从 localhost 改称 %
或者新加条记录,host 项为 你本地的ip地址,并授权
重启mysql服务

规矩的做法:
使用 GRANT 命令
你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myu……

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

%
localhost
127.0.0.1
主机名

引用 5 楼 xuzuning 的回复:mysql 数据库里的 user 表的 host 项,从 localhost 改称 %
或者新加条记录,host 项为 你本地的ip地址,并授权
重启mysql服务

规矩的做法:
使用 GRANT 命令
你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVI……
再重启MYSQL就正常了。