高手们进来帮帮我吧,多mysql服务器连接 有人会用php连接多MYSQL服务器吗?自动分配连接数。如果有五台a,b,c,d,e mysql服务器,怎么让php自动分配连接数呢?高手们怎么搞呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵呵,没有搞过,你可以一个接一个的连接,这个是例子,如:<?php//a,b,c,d,e服务器IP分别为192.168.1.1、192.168.1.2等等if(!file_exists("mysql.php")){file_put_contents("mysql.php","<?php \$mysqlnum=1;?>");//把连接服务器改为第一台,为连接作准备}require("mysql.php");//载入代码mysql_connect("192.168.1.{$mysqlnum}","root","password");if($mysqlnum == 5)//如果用了e那台服务器,下一次用第一台a服务器{$mysqlnum=1;}else{$mysqlnum++;}$write_content="<?php \$mysqlnum=".$mysqlnum.";?>";file_put_contents("mysql.php",$write_content);//重新写入,把服务器地址改为下一个服务器(如当前用的是第一台服务器,下一次用第二台),为下一次连接作准备//操作数据库?> 分配规则是什么?根据数据库主机的负载来分配么,还是按一定的Hash规则分配,还是随机分配? 1楼的这种做法是可以的.但是有时在实际中有些SQL执行时间过长,如果这种SQL在同一台服务器上出现,那其中的这台服务器就会很快就挂掉了.小流量不会有问题,但大流量可能有时会有这种问题.有没有朋友通过processlist 做过负载呢? 要是这样的话我觉得应该放到更底层的程序来负责,PHP搞这个不太现实。 mysql proxy: http://forge.mysql.com/wiki/MySQL_Proxy 楼主可以研究一下MYSQL5.1的分区,MYSQL6的集群技术 我现在是做hash分配。基本能匀衡mysql负载 MySQL-Cluster集群,解决同步与负载均衡 支持。。参考http://www.ibm.com/developerworks/cn/linux/database/mysql-ha/ 正则表达式提取问题 有人用过 swfupload 吗,请教一个问题 php ftp上传文件 Gmail企业邮箱登陆问题 100分求APACHE反向代理的泛解析怎么实现? PHP新手关于采集的问题 CentOS 下php的执行 PHP如何在多IP服务器中切换IP采集数据? 怎么加daddslashes 过滤 PayPal sandbox ssl请求问题,跪求答案! 问问做一个类似这种网站要多少钱? 推荐PHP开源代码
呵呵,没有搞过,你可以一个接一个的连接,这个是例子,如:<?php
//a,b,c,d,e服务器IP分别为192.168.1.1、192.168.1.2等等
if(!file_exists("mysql.php"))
{
file_put_contents("mysql.php","<?php \$mysqlnum=1;?>");//把连接服务器改为第一台,为连接作准备
}
require("mysql.php");//载入代码
mysql_connect("192.168.1.{$mysqlnum}","root","password");
if($mysqlnum == 5)//如果用了e那台服务器,下一次用第一台a服务器
{
$mysqlnum=1;
}else{
$mysqlnum++;
}
$write_content="<?php \$mysqlnum=".$mysqlnum.";?>";
file_put_contents("mysql.php",$write_content);//重新写入,把服务器地址改为下一个服务器(如当前用的是第一台服务器,下一次用第二台),为下一次连接作准备
//操作数据库
?>
要是这样的话我觉得应该放到更底层的程序来负责,PHP搞这个不太现实。
支持。。
参考http://www.ibm.com/developerworks/cn/linux/database/mysql-ha/