PHP实现的mysql读写分离操作示例


Posted in PHP onMay 22, 2018

本文实例讲述了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 $

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
在Zeus Web Server中安装PHP语言支持
Oct 09 PHP
在PHP中使用Sockets 从Usenet中获取文件
Jan 10 PHP
19个超实用的PHP代码片段
Mar 14 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
May 29 PHP
php中simplexml_load_file函数用法实例
Nov 12 PHP
PHP之预定义接口详解
Jul 29 PHP
PHP json_encode() 函数详解及中文乱码问题
Nov 05 PHP
php图片上传类 附调用方法
May 15 PHP
微信支付开发发货通知实例
Jul 12 PHP
在php的yii2框架中整合hbase库的方法
Sep 20 PHP
Thinkphp5.0框架视图view的模板布局用法分析
Oct 12 PHP
一文搞懂PHP中的抽象类和接口
May 25 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
May 21 #PHP
PHP+MariaDB数据库操作基本技巧备忘总结
May 21 #PHP
PhpStorm本地断点调试的方法步骤
May 21 #PHP
PHP自动识别当前使用移动终端
May 21 #PHP
PHP连接MySQL数据库并以json格式输出
May 21 #PHP
PHP 访问数据库配置通用方法(json)
May 20 #PHP
PHP生成腾讯云COS接口需要的请求签名
May 20 #PHP
You might like
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
2012/04/09 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
div实现自适应高度的textarea实现angular双向绑定
2017/01/08 Javascript
如何在AngularJs中调用第三方插件库
2017/05/21 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
node.js实现微信开发之获取用户授权
2019/03/18 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
2020/07/21 Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
2020/08/18 Javascript
python双向链表实现实例代码
2013/11/21 Python
Python格式化css文件的方法
2015/03/10 Python
Python使用matplotlib绘制余弦的散点图示例
2018/03/14 Python
python实现决策树、随机森林的简单原理
2018/03/26 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
numpy concatenate数组拼接方法示例介绍
2019/05/27 Python
Django ORM多对多查询方法(自定义第三张表&amp;ManyToManyField)
2019/08/09 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
python numpy中cumsum的用法详解
2019/10/17 Python
Css3+Js制作漂亮时钟(附源码)
2013/04/24 HTML / CSS
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
英国剑桥包中文官网:The Cambridge Satchel Company中国
2018/11/06 全球购物
初中生三年学习生活的自我评价
2013/11/03 职场文书
求职简历中个人的自我评价
2013/12/25 职场文书
创先争优公开承诺书
2014/08/30 职场文书
2014-2015学年工作总结
2014/11/27 职场文书
Python办公自动化之Excel(中)
2021/05/24 Python
python中对列表的删除和添加方法详解
2022/02/24 Python
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript