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 相关文章推荐
可定制的PHP缩略图生成程式(需要GD库支持)
Mar 06 PHP
UCenter 批量添加用户的php代码
Jul 17 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
Jun 09 PHP
php批量更改数据库表前缀实现方法
Oct 26 PHP
Thinkphp实现MySQL读写分离操作示例
Jun 25 PHP
php从字符串创建函数的方法
Mar 16 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
Sep 20 PHP
thinkPHP中分页用法实例分析
Dec 26 PHP
Zend Framework框架实现类似Google搜索分页效果
Nov 25 PHP
laravel 中如何使用ajax和vue总结
Aug 16 PHP
PHP有序表查找之二分查找(折半查找)算法示例
Feb 09 PHP
PHP中-&gt;和=&gt;的含义及使用示例解析
Aug 06 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中上传大体积文件时需要的设置
2006/10/09 PHP
PHP字符串的连接的简单实例
2013/12/30 PHP
ThinkPHP函数详解之M方法和R方法
2015/09/10 PHP
php抽象方法和抽象类实例分析
2016/12/07 PHP
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
2015/10/08 Javascript
JavaScript如何动态创建table表格
2020/08/02 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
基于bootstrop常用类总结(推荐)
2017/09/11 Javascript
JS扩展String.prototype.format字符串拼接的功能
2018/03/09 Javascript
js实现简单的打印表格
2020/01/15 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
2020/06/04 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
python生成指定尺寸缩略图的示例
2014/05/07 Python
python类继承用法实例分析
2014/10/10 Python
Python:Scrapy框架中Item Pipeline组件使用详解
2017/12/27 Python
python模拟事件触发机制详解
2018/01/19 Python
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
2018/09/27 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
深入了解Python 变量作用域
2020/07/24 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
英超联赛的首选足球:Mitre足球
2019/05/06 全球购物
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
冰淇淋店的创业计划书
2014/02/07 职场文书
2015教师年度考核评语
2015/03/25 职场文书
新娘婚礼答谢词
2015/09/29 职场文书
Python中快速掌握Data Frame的常用操作
2021/03/31 Python