高手们进来帮帮我吧,多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/ 下个东西要积分这个系统怎么搞? 数组里的前几个数字怎么判断。并给出分值 关于康盛的SUPERSITE注册问题,高手请来. 有用open flash chart的朋友进来一下? 第一次做项目——跪求各路高手指导 apc缓存加速 xp下安装xampp报错怎么破,求大神指点 php解析json数据的问题 CI框架数据库查询时怎么不识别别名呢?【在线等】 curl模拟登陆正方教务系统 问问做一个类似这种网站要多少钱? 推荐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/