欢迎来到天天文库
浏览记录
ID:5505831
大小:352.00 KB
页数:36页
时间:2017-12-16
《读写分离的三种方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、读写分离的三种方法 PHP实现的Mysql读写分离 MySQLProxy安装与读写分离体验 mysql读写分离 使用MySQLProxy解决MySQL主从同步延迟 MySQLMaster-MasterReplicationManager(MMM) mysql+mmm+proxy实现mysql读写分离及HA 读写分离的三种方法 1.PHP代码法,mysqlmaster(write)-salver(read); 2.MySQLProxy+LUA
2、脚本法; 3.更HA方式:MySQLProxy+MMM; PHP实现的Mysql读写分离 本代码是从uchome的代码修改的,是因为要解决uchome的效率而处理的。 这个思维其实很久就有了,只是一直没有去做,相信也有人有同样的想法,如果有类似的,那真的希望提出相关的建议。 封装的方式比较简单,增加了只读数据库连接的接口扩展,不使用只读数据库也不影响原代码使用。 有待以后不断完善。。 为了方便,试试建立了google的一个项目: http://code.google.com/p/mysql-rw-php/ 希望给有需要的朋友带来帮助。 PHP实现的Mysql读写分离
3、 主要特性: 简单的读写分离 一个主数据库,可以添加更多的只读数据库 读写分离但不用担心某些特性不支持 缺点:同时连接两个数据库 英文比较烂,也写几个字吧 phpcodeformysqlread/writesplit feature: simplyrwsplit onemaster,canaddmoreslaves supportallmysqlfeature linktothemasterandslaveatthesametime PHP代码: mysql_rw_php.class.php
4、************************** ***mysql-rw-phpversion0.1@2009-4-16 ***codebyhqlulu#gmail.com ***http://www.aslibra.com ***http://code.google.com/p/mysql-rw-php/ ***codemodifyfromclass_mysql.php(uchome) ****************************************/ classmysql_rw_php{ //查询个数 var$querynum=0; //当前操作的数据库
5、连接 var$link=null; //字符集 var$charset; //当前数据库 var$cur_db=''; //是否存在有效的只读数据库连接 var$ro_exist=false; //只读数据库连接 var$link_ro=null; //读写数据库连接 var$link_rw=null; functionmysql_rw_php(){ } functionconnect($dbhost,$dbuser,$dbpw,$dbname='',$pconnect=0,$halt=TRUE){ if($pconnect){ if(!$this->link=@my
6、sql_pconnect($dbhost,$dbuser,$dbpw)){ $halt&&$this->halt('CannotconnecttoMySQLserver'); } }else{ if(!$this->link=@mysql_connect($dbhost,$dbuser,$dbpw)){ $halt&&$this->halt('CannotconnecttoMySQLserver'); } } //只读连接失败 if(!$this->link&&!$halt)returnfalse; //未初始化rw时,第一个连接作为rw if($this->link_rw
7、==null) $this->link_rw=$this->link; if($this->version()>'4.1'){ if($this->charset){ @mysql_query("SETcharacter_set_connection=$this->charset,character_set_results=$this->charset,character_set_clien
此文档下载收益归作者所有