欢迎来到天天文库
浏览记录
ID:6451810
大小:352.00 KB
页数:36页
时间:2018-01-14
《读写分离的三种方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、读写分离的三种方法 PHP实现的Mysql读写分离 MySQLProxy安装与读写分离体验 mysql读写分离 使用MySQLProxy解决MySQL主从同步延迟 MySQLMaster-MasterReplicationManager(MMM) mysql+mmm+proxy实现mysql读写分离及HA 读写分离的三种方法 1.PHP代码法,mysqlmas
2、ter(write)-salver(read); 2.MySQLProxy+LUA脚本法; 3.更HA方式:MySQLProxy+MMM; PHP实现的Mysql读写分离 本代码是从uchome的代码修改的,是因为要解决uchome的效率而处理的。 这个思维其实很久就有了,只是一直没有去做,相信也有人有同样的想法,如果有类似的,那真的希望提出相关的建议。 封装的方式比较简单,增加了只读数据库连接的接口扩展,不使用只读数据库也不影响原代码使用。 有待以后不断完善。。 为了方便,试试建立了go
3、ogle的一个项目: http://code.google.com/p/mysql-rw-php/ 希望给有需要的朋友带来帮助。 PHP实现的Mysql读写分离 主要特性: 简单的读写分离 一个主数据库,可以添加更多的只读数据库 读写分离但不用担心某些特性不支持 缺点:同时连接两个数据库 英文比较烂,也写几个字吧 phpcodeformysqlread/writesplit feature: simplyrwsplit onemaster,canaddmoresla
4、ves supportallmysqlfeature linktothemasterandslaveatthesametime PHP代码: mysql_rw_php.class.php
5、code.google.com/p/mysql-rw-php/ ***codemodifyfromclass_mysql.php(uchome) ****************************************/ classmysql_rw_php{ //查询个数 var$querynum=0; //当前操作的数据库连接 var$link=null; //字符集 var$charset; //当前数据库 var$cur_db=''; //是否存在有效的只读数据库连接 va
6、r$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=@mysql_pconnect($dbhost,$dbuser,$dbpw)){ $hal
7、t&&$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_r
8、w==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
此文档下载收益归作者所有