扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
你好,远程云主机上的MySQL有几种方式
创新互联建站是少有的成都网站设计、做网站、成都外贸网站建设公司、营销型企业网站、小程序制作、手机APP,开发、制作、设计、买友情链接、推广优化一站式服务网络公司,自2013年起,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评
1、原生
mysqli_connect(host,username,password,dbname,port,socket);
2、框架
如ThinkPHP框架,在database.php中可以直接配置远程链接参数
// 服务器地址
'hostname' = '你的IP',
// 数据库名
'database' = '',
// 用户名
'username' = '',
// 密码
'password' = '',
// 端口
'hostport' = '',
// 连接dsn
其他的框架,您可以看下框架的手册,按照手册一步步来配置
希望对你有帮助!
1、在asp网站上生成 xml新闻源 php中调用
2、php直接远程读取asp上的网页 下面发段php远程读取的函数
function get_content($url)
{
$buf=parse_url($url);
if($buf['scheme']=="http")//如果是URL
{
$host=$buf['host'];
$page=$buf['path'];
if(trim($buf['query'])!=="") $page.="?".trim($buf['query']);
$myHeader="GET $url HTTP/1.1\r\n";
$myHeader.="Host: $host\r\n";
$myHeader.="Connection: close\r\n";
$myHeader.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$myHeader.="Accept-Language: zh-cn,zh;q=0.5\r\n";
$myHeader.="Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7\r\n";
$myHeader.="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.7.6) Gecko/20050226 Firefox/1.0.1 Web-Sniffer/1.0.20\r\n";
$myHeader.="Referer: \r\n\r\n";
$server=$host;
$port=80;
$res="";
if(false!==($fp = @fsockopen ($server, $port, $errno, $errstr, 30)))
{
@fputs ($fp, $myHeader);
while (!@feof($fp)) $res.= @fgets ($fp, 1024);
@fclose ($fp);
}
else return false;
if(strlen($res)==0) return false;
return $res;
}
else//如果是本地文件
{
$fileName=$url;
if(false!==@file_exists($fileName))
{
if(false!==($buf=@implode("",file($fileName)))@strlen($buf)0)
{
return $buf;
}
else return false;
}
else return false;
}
}
和ASP+ACCESS不一样,其实你的PHP一直都是在操作远程数据库:
你的mysql_connect连接MYSQL数据库的时候,即使是本地数据库,程序也完全是和远程一样的操作:使用TCP连接你指定的服务器端口,127.0.0.1和data.baidu.com这样的主机,程序是完全相同的。
决方法:
1。
改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改
"mysql"
数据库里的
"user"
表里的
"host"
项,从"localhost"改称"%"
mysql
-u
root
-pvmwaremysqluse
mysql;mysqlupdate
user
set
host
=
'%'
where
user
=
'root';mysqlselect
host,
user
from
user;
2.
授权法。例如,你想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
'root'@'192.168.1.3'
IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;
$conn=mysql_connect('主机','数据库名','密码'); 将’主机‘改为IP号,是可以远程访问数据库的。
前提是需要:
1、关闭所访问的主机的 防火墙。(不然其他用户无法访问主机)
2、设置主机上的 数据库的 访问权限,即 允许 其他用户访问 数据库。
MySql数据库的访问权限设置:在mysql命令行中输入命令 grant all on *.* to root@'%' identified by password; 其中password是数据库的密码。
3、该步骤最关键,得保证与主机之间的线路是通的(否则永远也连不上)。
看了,LZ提出的问题后,亲自编程序试了下,程序如下:
上述程序即可,用于测试。
如有问题,请再留言。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流