• 技术文章 >后端开发 >php教程

    PHP实现的mysql读写分离操作

    不言不言2018-06-01 11:02:08原创745
    这篇文章主要介绍了PHP实现的mysql读写分离操作,简单讲述了mysql读写分离的原理,并结合实例形式给出了php针对mysql的读写sql语句操作不同数据库的相关实现技巧,需要的朋友可以参考下

    本文实例讲述了PHP实现的mysql读写分离操作。分享给大家供大家参考,具体如下:

    首先mysql主从需配置好,基本原理就是判断sql语句是否是select,是的话走master库,否则从slave查

    <?php
    /**
    * mysql读写分离
    */
    class db{
      public function __construct($sql){
        $chestr = strtolower(trim($sql));
        //判断sql语句有select关键字的话,就连接读的数据库,否则就连接写数据库
        if(substr($chestr,0,6)=='select')
        {
          echo 'I am using slave db..<br>';
          $link = mysql_connect("192.168.20.201:3306", "open", "123456") or die("Could not connect: " . mysql_error());
          mysql_select_db("hadoop");
          $result = mysql_query($sql);
          while($row = mysql_fetch_array($result,MYSQL_ASSOC)){
            $data[]=$row;
          }
          //print_r($data);exit;
          echo mysql_get_host_info($link).mysql_get_server_info($link).mysql_get_proto_info($link).mysql_get_client_info().'<br>';
        }else{
          echo 'I am using master db..<br>';
          $link = mysql_connect("192.168.20.195:3306","open","123456") or die("Could not connect: " . mysql_error());
          mysql_select_db("hadoop");
          $result = mysql_query($sql);
          //echo @mysql_affected_rows($result);
          echo mysql_get_host_info($link).mysql_get_server_info($link).mysql_get_proto_info($link).mysql_get_client_info().'<br>';
        }
      }
    }
    $master = new db("INSERT INTO user (id,name)VALUES (NULL,'100')");
    $slave = new db("SELECT * from `user`");

    结果:

    I am using master db..
    192.168.20.195 via TCP/IP5.1.73-log10mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $
    I am using slave db..
    192.168.20.201 via TCP/IP5.1.73-log10mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $

    相关推荐:

    ThinkPHP框架实现的MySQL数据库备份功能

    以上就是PHP实现的mysql读写分离操作的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql php 操作
    上一篇:php中二分法查找算法实例详解 下一篇:php实现压缩合并js的方法
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• PHP开发惯用函数和必须会的函数总结 -带例子• YII 表单验证守则大全• 那些年一行学习的PHP(一)• 页面无动作,五分钟后自动退出系统 • !两端PHP代码的转换
    1/1

    PHP中文网