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 操作文件的一些FAQ总结
Feb 12 PHP
php调用dll的实例操作动画与代码分享
Aug 14 PHP
php笔记之:文章中图片处理的使用
Apr 26 PHP
PHP冒泡算法详解(递归实现)
Nov 10 PHP
php生成不重复随机数、数组的4种方法分享
Mar 30 PHP
php动态变量定义及使用
Jun 10 PHP
PHP设计模式之观察者模式实例
Feb 22 PHP
CI框架简单邮件发送类实例
May 18 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
Sep 22 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
Feb 15 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
聊聊 PHP 8 新特性 Attributes
Aug 19 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 无限分类的树类代码
2009/12/03 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
用jquery与css打造个性化的单选框和复选框
2010/10/20 Javascript
javascript中有趣的反柯里化深入分析
2012/12/05 Javascript
js获取时间(本周、本季度、本月..)
2013/11/22 Javascript
javascript面向对象之访问对象属性的两种方式分析
2015/01/13 Javascript
JavaScript中的call和apply的用途以及区别
2017/01/11 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
vue--vuex详解
2019/04/15 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
微信小程序用户登录和登录态维护的实现
2020/12/10 Javascript
[04:00]黄浦江畔,再会英雄——完美世界DOTA2 TI9应援视频
2019/07/31 DOTA
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
Python列表生成器的循环技巧分享
2015/03/06 Python
Python内置数据结构与操作符的练习题集锦
2016/07/01 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
使用python实现飞机大战游戏
2020/03/23 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
python可迭代对象去重实例
2020/05/15 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
python绕过图片滑动验证码实现爬取PTA所有题目功能 附源码
2021/01/06 Python
Farah官方网站:男士服装及配件
2019/11/01 全球购物
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
业务经理的岗位职责
2013/11/16 职场文书
致裁判员加油稿
2014/02/08 职场文书
《猫》教学反思
2014/02/26 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
交心谈心活动总结
2015/05/11 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书
合作协议书格式范本
2016/03/21 职场文书
go xorm框架的使用
2021/05/22 Golang
实现一个简单得数据响应系统
2021/11/11 Javascript
Elasticsearch 基本查询和组合查询
2022/04/19 Python