yii mysql 主从_mysql主从同步实践YII

1、两台服务器互联master、slave 2、master配置: server-id = 1 master端ID号 log-bin=/data/logbin/mysql-bin 日志路径及文件名 #binlog-do-db = cacti 同步cacti,此处关闭的话,就是除不允许的,其它的库均同步。 binlog-ignore-db = mysql 不同步mysql

1、两台服务器互联master、slave

2、master配置:

server-id = 1 master端ID号

log-bin=/data/logbin/mysql-bin 日志路径及文件名

#binlog-do-db = cacti 同步cacti,此处关闭的话,就是除不允许的,其它的库均同步。

binlog-ignore-db = mysql 不同步mysql库,以下同上

mysql>show master status;

3、slave配置:

server-id = 2 slave的ID号,此处一定要大于master端。

保存退出。

/usr/local/mysql/bin/mysqladmin -uroot -p shutdown

tar xvzf /data/mysql/cacti.tgz /data/mysql/cacti

chown -R mysql.mysql /data/mysql/cacti

/usr/local/mysql/bin/mysql -uroot -p

mysql>stop slave;

mysql>change master to

>master_host='192.168.2.67',

>master_user='rsync', master端创建的用于主从同步的账户和密码

>master_password='123456',

>master_port='3306', master端设置的client端使用的端口号。

>master_log_file='mysql-bin.000047', master端记录的file值

>master_log_pos=391592414; master端记录的position值

mysql>start slave;

mysql>show slave status \G

==========================================================

',

* 'slaves'=>array(

* array('connectionString'=>'mysql://'),

* array('connectionString'=>'mysql://'),

* )

* )

* )

* */

public $slaves=array();

/**

* Whether enable the slave database connection.

* Defaut is true.Set this property to false for the purpose of only use the master database.

* @var bool $enableSlave

* */

public $enableSlave=true;

/**

* @override

* @var bool $autoConnect Whether connect while init

* */

public $autoConnect=false;

/**

* @var CDbConnection

*/

private $_slave;

/**

* Creates a CDbCommand object for excuting sql statement.

* It will detect the sql statement's behavior.

* While the sql is a simple read operation.

* It will use a slave database connection to contruct a CDbCommand object.

* Default it use current connection(master database).

*

* @override

* @param string $sql

* @return CDbCommand

* */

public function createCommand($sql) {

if ($this->enableSlave && !$this->getCurrentTransaction() && self::isReadOperation($sql)) {

return $this->getSlave()->createCommand($sql);

} else {

return parent::createCommand($sql);

}

}

/**

* Construct a slave connection CDbConnection for read operation.

* @return CDbConnection

* */

public function getSlave() {

if (!isset($this->_slave)) {

foreach ($this->slaves as $slaveConfig) {

if (!isset($slaveConfig['class']))

$slaveConfig['class']='CDbConnection';

try {

if ($slave=Yii::createComponent($slaveConfig)) {

Yii::app()->setComponent('dbslave',$slave);

$this->_slave=$slave;

break;

}

} catch (Exception $e) {

echo ''; var_dump($e);echo '';}

}

if (!$this->_slave) {

$this->_slave=clone $this;

$this->_slave->enableSlave=false;

}

}

return $this->_slave;

}

/**

* Detect whether the sql statement is just a simple read operation.

* Read Operation means this sql will not change any thing ang aspect of the database.

* Such as SELECT,DECRIBE,SHOW etc.

* On the other hand:UPDATE,INSERT,DELETE is write operation.

* */

public function isReadOperation($sql) {

return preg_match('/^\s*(SELECT|SHOW|DESC|PRAGMA)\s+/i',$sql);

}

}

==================================================

'db'=>array(

//'connectionString' => 'mysql:host=localhost;dbname=yiitest',

'class' => 'DbConnectionMan',

'connectionString' => 'mysql:host=localhost;dbname=ms_test',

'emulatePrepare' => true,

//'tablePrefix' => 'ms_',

'username' => 'root',

'password' => '123456',

'charset' => 'utf8',

// 'enableProfiling' => true,

// 'enableParamLogging' => true,

'slaves' => array(

array('connectionString' => 'mysql:host=10.237.94.13;dbname=ms_test',

// 'class' => 'CDbConnection',

'username' => 'yanghuolong',

'password' => '123456',

'enableProfiling' => true,

'enableParamLogging' => true,

'charset' => 'utf8'),

),

),

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网页编码就是那点事

编码一直是让新手头疼的问题,特别是 GBK、GB2312、UTF-8 这三个比较常见的网页编码的区别,更是让许多新手晕头转向,怎么解释也解释不清楚。但是编码又是那么重要,特别在网页这一块。如果你打出来的不是乱码,而网页中出…

python最大正方形的面积_LeetCode 221. 最大正方形 | Python

221. 最大正方形题目在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4解题思路思路:动态规划本篇幅使用动态规划的原理来解决该问题。我们用 dp(i, j) 表示…

查询学生选修课程管理系统java_JAVA数据库课程设计学生选课管理系统的

《JAVA数据库课程设计学生选课管理系统的》由会员分享,可在线阅读,更多相关《JAVA数据库课程设计学生选课管理系统的(59页珍藏版)》请在人人文库网上搜索。1、一、课程设计目的通过这次的设计,主要是做出一个小型的管理系统,来加强…

Linux C 中字符串化操作符#

1 #include <stdio.h>2 3 #define dprint( expr ) printf( "%s %d \n", #expr , expr)4 5 int main(void)6 {7 int x 100;8 int y 2;9 10 dprint(x/y); 11 dprint( xy ); 12 dprint( xy2 ); 13 return 0; 14 } 打印信息&…

Poj1207 The 3n + 1 problem(水题(数据)+陷阱)

一、Description Problems in Computer Science are often classified as belonging to a certain class of problems (e.g., NP, Unsolvable, Recursive). In this problem you will be analyzing a property of an algorithm whose classification is not known for all poss…

python高级玩法_python pandas to_excel 高级玩法

DataFrame.to_excel(self, excel_writer, sheet_name‘Sheet1‘, na_rep‘‘,float_formatNone, columnsNone, headerTrue, indexTrue,index_labelNone, startrow0, startcol0, engineNone,merge_cellsTrue, encodingNone, inf_rep‘inf‘, verboseTrue,freeze_panesNone):1、f…

jquery对象和dom对象

我们都知道可以通过$(selector)的形式对所有页面的对象进行获取&#xff0c;但是获取到的对象和DOM对象有什么区别呢&#xff0c;下面探讨一下 1.DOM对象 var div1document.getElementById(div1); div1.innerHTMLtest; 这样表示获取一个dom对象&#xff0c;这个对象可以使用所有…

u-boot的Makefile分析

U&#xff0d;BOOT是一个LINUX下的工程&#xff0c;在编译之前必须已经安装对应体系结构的交叉编译环境&#xff0c;这里只针对ARM&#xff0c;编译器系列软件为arm-linux-*。 U&#xff0d;BOOT的下载地址&#xff1a; http://sourceforge.net/projects/u-boot 我下载的是1.1.…

Python学习入门基础教程(learning Python)--6.4 Python的list与函数

list是python下的一种数据类型&#xff0c;他和其他类型如整形、浮点型、字符串等数据类型一样也可作为函数的型参和实参来使用&#xff01; 1.list作为参数 list数据类型可以作为函数的参数传递给函数取做相应的处理&#xff0c;下例是统计“www.jeapedu.com”这个字符串里的非…

python 读取outlook_如何用 Python 读取 Outlook 中的电子邮件

从事电子邮件营销&#xff0c; 准入(opt-in)邮箱列表是必不可少的。你可能已经有了准入列表&#xff0c;同时还使用电子邮件客户端软件。如果你能从电子邮件客户端中导出准入列表&#xff0c;那这份列表想必是极好的。我使用一些代码来将 outlook 配置中的所有邮件写入一个临时…

Java代码服务器上下载图片_Java如何从服务器中下载图片

import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.URL;import java.net.URLConnection;import org.apache.commons.io.IOUtils;/*** 从服务器中下载图片** param fileName 图片地址* param response* return*/RequestMappi…

U-BOOT之一:BootLoader 的概念与功能

U-BOOT之一&#xff1a;BootLoader 的概念与功能 ——转自《U-BOOT移植S3C2440完全手册》 1.1嵌入式Linux 软件结构与分布 一般情况下嵌入式Linux 系统中的软件主要分为以下几部分&#xff1a; 1) 引导加载程序&#xff1a;其中包括内部ROM 中的固化启动代码和BootLoader 两部分…

设计模式之建造者模式(Builder)

建造者模式原理&#xff1a;建造模式主要是用于产生对象的各个组成部分&#xff0c;而抽象工厂模式则用于产生一系列对象&#xff0c;建造者模式而且要求这些对象的组成部分有序。 代码如下&#xff1a; #include <iostream> using namespace std;class Builder { public…

java写七彩文字_【PS精选案例教程】创建一个漂亮的七彩文字

原标题&#xff1a;【PS精选案例教程】创建一个漂亮的七彩文字效果图&#xff1a;步骤1. 新建一个文档(大小随意)步骤2. 滤镜→渲染→云彩步骤3. 可以按CtrlAltF增加效果步骤4. CtrlJ复制一层步骤5.设置前景色步骤6. 用径向渐变从中间往外拉一个渐变步骤7. 设置“图层1”混合模…

std::copy

如果要把一个序列&#xff08;sequence&#xff09;拷贝到一个容器&#xff08;container&#xff09;中去&#xff0c;通常用std::copy算法&#xff0c;代码如下&#xff1a; std::copy(start, end,std::back_inserter(container)); 这里&#xff0c;start和end是输入序列&…

java 正则 栈溢出_关于Java正则引起的StackOverFlowError问题以及解决方案 | 学步园...

java 正则异常 java.lang.StackOverflowError&#xff1a;在使用正则表达式的时候&#xff0c;底层是通过迭代方式执行的&#xff0c;每一层的迭代都会在栈线程的大小中占一定内存&#xff0c;如果迭代的层次很多&#xff0c;就会报出stackOverFlowError异常。所以在使用正则的…

容斥原理的二进制实现模版

最近学习容斥原理&#xff0c;实现容斥原理大致有三种方法&#xff1a;dfs&#xff0c;队列数组&#xff0c;二进制。 今天主要讲下二进制实现容斥原理&#xff1a; 有一个集合{A1……An}&#xff0c;求集合的子集&#xff1f;很显然答案为 也就是2^n个&#xff0c;也就是每一个…

测试鼠标双击_鼠标环境可靠性测试是什么

鼠标和电脑是的组合&#xff0c;购买电脑时一般商家会送给用户一个配套的鼠标&#xff0c;鼠标和电脑一样&#xff0c;对环境的要求较高&#xff0c;极少部分的鼠标由于短路或者是环境温度过高的问题会导致鼠标出现自燃的现象&#xff0c;如果用户此时正在使用电脑编辑文件&…

snprintf函数用法

int snprintf(char *restrict buf, size_t n, const char * restrict format, ...); 函数说明:最多从源串中拷贝n&#xff0d;1个字符到目标串中&#xff0c;然后再在后面加一个0。所以如果目标串的大小为n 的话&#xff0c;将不会溢出。 函数返回值:若成功则返回欲写入的字符…

virtualbox主机网络管理 未能创建_如何在 VirtualBox 中增加现有虚拟机的磁盘大小 | Linux 中国...

导读&#xff1a;你可以在 VirtualBox 中扩大虚拟硬盘&#xff0c;即使在创建之后也可以。                   本文字数&#xff1a;1434&#xff0c;阅读时长大约&#xff1a;2分钟https://linux.cn/article-12869-1.html作者&#xff1a;Dimitrios Savvopoulos译者…