PHP实现的mysql读写分离操作示例
发布:smiling 来源: PHP粉丝网 添加日期:2021-09-17 19:08:15 浏览: 评论:0
这篇文章主要介绍了PHP实现的mysql读写分离操作,简单讲述了mysql读写分离的原理,并结合实例形式给出了php针对mysql的读写sql语句操作不同数据库的相关实现技巧,需要的朋友可以参考下。
本文实例讲述了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 $
Tags: mysql读写分离
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)