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 相关文章推荐
html中select语句读取mysql表中内容
Oct 09 PHP
PHP 程序员也要学会使用“异常”
Jun 16 PHP
PHP 分页原理分析,大家可以看看
Dec 21 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
Jun 10 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
Nov 08 PHP
一个经典的PHP验证码类分享
Nov 18 PHP
php常用文件操作函数汇总
Nov 22 PHP
PHP简单实现上一页下一页功能示例
Sep 14 PHP
thinkphp5引入公共部分header、footer的方法详解
Sep 14 PHP
PHP JWT初识及其简单示例
Oct 10 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 PHP
PHP实现文件上传操作和封装
Mar 04 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
Terran兵种介绍
2020/03/14 星际争霸
php中长文章分页显示实现代码
2012/09/29 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
2014/05/15 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
ext监听事件方法[初级篇]
2008/04/27 Javascript
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
JS实现的简单折叠展开动画效果示例
2018/04/28 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
深入了解JS之作用域和闭包
2020/06/16 Javascript
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
Python设计模式编程中解释器模式的简单程序示例分享
2016/03/02 Python
浅析PHP与Python进行数据交互
2018/05/15 Python
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
利用Python+阿里云实现DDNS动态域名解析的方法
2019/04/01 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
Python 3 判断2个字典相同
2019/08/06 Python
python如何使用代码运行助手
2020/07/03 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
2020/11/27 Python
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
世界上最大的网络主机公司:1&1
2016/10/12 全球购物
毕业生的求职信范文分享
2013/12/04 职场文书
消防安全检查制度
2014/02/04 职场文书
国贸专业自荐信范文
2014/03/02 职场文书
2014年银行客户经理工作总结
2014/11/12 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
2015年暑假工作总结
2015/07/13 职场文书
初中教务主任竞聘演讲稿(范文)
2019/08/20 职场文书
导游词之上海豫园
2019/10/24 职场文书
Pytorch 使用tensor特定条件判断索引
2021/04/08 Python