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 相关文章推荐
Gregarius中文日期格式问题解决办法
Apr 22 PHP
php header示例代码(推荐)
Sep 08 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
php addslashes 利用递归实现使用反斜线引用字符串
Aug 05 PHP
destoon调用自定义模板及样式的公告栏
Jun 21 PHP
php使用mysqli向数据库添加数据的方法
Mar 20 PHP
php保存任意网络图片到服务器的方法
Apr 14 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
Nov 25 PHP
PHP实现PDO操作mysql存储过程示例
Feb 13 PHP
php常用字符串查找函数strstr()与strpos()实例分析
Jun 21 PHP
php+ajax实现文件切割上传功能示例
Mar 03 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+ajax导入大数据时产生的问题处理
2014/06/11 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
JavaScript之WebSocket技术详解
2016/11/18 Javascript
js实现键盘自动打字效果
2016/12/23 Javascript
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
让nodeJS支持ES6的词法----babel的安装和使用方法
2017/07/31 NodeJs
mockjs,json-server一起搭建前端通用的数据模拟框架教程
2017/12/18 Javascript
JavaScript常见JSON操作实例分析
2018/08/08 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
vue 中this.$set 动态绑定数据的案例讲解
2021/01/29 Vue.js
修复 Django migration 时遇到的问题解决
2018/06/14 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
通过实例解析Python调用json模块
2019/12/11 Python
opencv+python实现均值滤波
2020/02/19 Python
python实现从ftp服务器下载文件
2020/03/03 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
2020/05/03 Python
python与idea的集成的实现
2020/11/20 Python
幼儿教师个人求职信范文
2013/09/21 职场文书
中学实习教师自我鉴定
2013/12/12 职场文书
入学生会自荐书范文
2014/02/05 职场文书
小班重阳节活动方案
2014/02/08 职场文书
保密工作实施方案
2014/02/24 职场文书
校园歌咏比赛主持词
2014/03/18 职场文书
寄语学生的话
2014/04/10 职场文书
财政局党的群众路线教育实践活动整改方案
2014/09/21 职场文书
2014年减负工作总结
2014/12/10 职场文书
护士年终考核评语
2014/12/31 职场文书
高三数学教学反思
2016/02/18 职场文书
python爬虫--selenium模块
2021/03/31 Python
Java移除无效括号的方法实现
2021/08/07 Java/Android
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL