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 相关文章推荐
Banner程序
Oct 09 PHP
快速配置PHPMyAdmin方法
Jun 05 PHP
一道求$b相对于$a的相对路径的php代码
Aug 08 PHP
关于使用coreseek并为其做分页的介绍
Jun 21 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
Jul 18 PHP
php读取mysql中文数据出现乱码的解决方法
Aug 16 PHP
PhpDocumentor 2安装以及生成API文档的方法
May 21 PHP
PHP生成网站桌面快捷方式代码分享
Oct 11 PHP
php自定义类fsocket模拟post或get请求的方法
Jul 31 PHP
Yii中CGridView实现批量删除的方法
Dec 28 PHP
使用YII2框架实现微信公众号中表单提交功能
Sep 04 PHP
PHP+MySQL实现消息队列的方法分析
May 09 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错误级别的设置方法
2013/06/17 PHP
php的GD库imagettftext函数解决中文乱码问题
2015/01/24 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
Javascript中的数学函数集合
2007/05/08 Javascript
js 动态文字滚动的例子
2011/01/17 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
js编写选项卡效果
2017/05/23 Javascript
JS中offset和匀速动画详解
2018/02/06 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
如何实现一个webpack模块解析器
2018/10/24 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
JavaScript算法学习之冒泡排序和选择排序
2019/11/02 Javascript
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
浅谈js数组splice删除某个元素爬坑
2020/10/14 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
使用Python写一个小游戏
2018/04/02 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
Python with标签使用方法解析
2020/01/17 Python
新手学python应该下哪个版本
2020/06/11 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
C语言面试题
2013/05/19 面试题
Exception类的常用方法
2012/06/16 面试题
劳动模范事迹材料
2014/01/19 职场文书
日语专业求职信
2014/07/04 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
语文教师求职信范文
2015/03/20 职场文书
运动会100米加油稿
2015/07/21 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书