php能否根据mysql服务器是否有锁表来动态的分配数据库(3台mysql服务器) 我们公司目前有一台php web服务器,3台mysql服务器,目前经常有一些用户查询需要检索大量数据 导致mysql表锁死,所以造成整个系统都瘫痪了。现在想在用户过来之后php检查一下那台mysql服务器是正常,没有锁表的然后将请求分配到这个mysql上。想问大神们php通过什么方式可用知道mysql服务器是否有锁表。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 MySQL 目前尚不支持分布式应用,从你的描述上看,也不是分布式应用那么你可以设置3个连接串,在使用中循环连接,限定时间没有连接上(表示该服务器忙)则对下一台服务器进行连接还可以使用事务,在满足回滚的情况下换一台服务器 我们现在是mysql都能连接上,而且所有sql语句都发送到了mysql,在mysql那使用show processlist时有一堆的“ Waiting for table level lock” 然后php就一直在等待mysql的数据返回结果,直到超时。 1、查询需要检索大量数据你应该做个搜索引擎了,或者优化一下你的sql语句2、3台mysql服务器像版主说的,循环访问三台mysql服务器(假设三台性能一样),做好失败后的二次链接就可以了 Waiting for table level lock 不就可以视为换服务器的条件吗?再说,你们做什么事情需要锁表呢?有那么多长时间的 update 吗?你只说 需要检索大量数据,这并不需要锁表呀 mysql 数据库的话 可以重新改造一下 可以使用 mysql-proxy 等中间件来做一个处理,据说 360 在这个上搞了个 Atlas, 你可以尝试看看。当然我更偏向于换数据库 比如 mongodb? 哈哈太多了 数据迁移也是件头痛的事 PHP代码要怎么写? php导出大数据量excel 问大家一个问题 服务器不能运行php的可执行程序 求一高难度的正则表达式,如题: 经常搜索并点击自己的网站,会提高在百度中的排名吗? 如何在php中弹出可弹出网页与 在redhat9.0下安装php几个问题? 我在命令提示符-mysql 下学习mysql,但myql> select cs(注;cs为数据库名) -->select * from shop;(注shop为表名) GB转BIG5的程序,不过出了点问题,提示php出错,大家帮忙看看 有一个最基础的问题,求大神帮忙解答一下。 新人php求助
那么你可以设置3个连接串,在使用中循环连接,限定时间没有连接上(表示该服务器忙)则对下一台服务器进行连接
还可以使用事务,在满足回滚的情况下换一台服务器
你应该做个搜索引擎了,或者优化一下你的sql语句
2、3台mysql服务器
像版主说的,循环访问三台mysql服务器(假设三台性能一样),做好失败后的二次链接就可以了
再说,你们做什么事情需要锁表呢?有那么多长时间的 update 吗?你只说 需要检索大量数据,这并不需要锁表呀
可以使用 mysql-proxy 等中间件来做一个处理,据说 360 在这个上搞了个 Atlas, 你可以尝试看看。
当然我更偏向于换数据库 比如 mongodb? 哈哈太多了 数据迁移也是件头痛的事