首页 > 数据库技术 > 详细

PHP代码实现MySQL读写分离

时间:2016-03-12 00:04:39      阅读:232      评论:0      收藏:0      [点我收藏+]

关于MySQL的读写分离有几种方法:中间件,Mysql驱动层,代码控制

关于中间件和Mysql驱动层实现Mysql读写分离的方法,今天暂不做研究,

这里主要写一点简单的代码来实现由PHP代码控制MySQL的读写分离。

 

准备工作:两个Mysql服务器,已经配置好主从,如果没配置过Mysql主从,请参考我上一篇博文:《mysql实现主从复制》

       主服务器192.168.1.101;  

       从服务器:192.168.1.105;

 

思路就是封装一个类,用于对数据库的操作,

这里只是写出一个简单的demo,用于理解php控制读写分离的思想,仅作抛砖引玉只用。

 

class Db
{
    function __construct($sql)
    {
        $querystr = trim($sql);
        $querystr = substr($sql,0,6);
        //如果是查询语句就连接从服务器
        if($querystr == select)
        {
            $conn = mysql_connect(192.168.1.105:3306,root,111111);
            mysql_select_db(test);
            mysql_query(set names utf8);

            $data = array();
            $res = mysql_query($sql);
            while ($row = mysql_fetch_assoc($res)) {
                $data[] = $row;
            }

            print_r($data);
            echo <br/>;
            echo mysql_get_host_info($conn).||.mysql_get_server_info($conn).||.mysql_get_proto_info($conn);
        }
        //如果不是查询语句就连接主服务器
        else
        {
            $conn = mysql_connect(192.168.1.101:3306,root,111111);
            mysql_select_db(test);
            mysql_query(set names utf8);

            mysql_query($sql);
            echo mysql_affected_rows();
            echo <br/>;
            echo mysql_get_host_info($conn).||.mysql_get_server_info($conn).||.mysql_get_proto_info($conn);
        }
    }
}

$sql1 = "select * from a";
$sql2 = "insert into a (name) values (‘Alice‘)";
$sql3 = "delete from a where id=5";
$sql4 = "update a set name=‘Jerry‘ where id=4";

//$model1 = new Db($sql1);
//$model2 = new Db($sql2);
//$model3 = new Db($sql3);
$model4 = new Db($sql4);

 

PHP代码实现MySQL读写分离

原文:http://www.cnblogs.com/superfat/p/5267479.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!