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中文网
yii mysql 主从_mysql主从同步实践YII相关推荐
- mysql重设主从_mysql主从重置
在做mysql主从复制的时候,在从服务器上进行show slave status\G;查看时 Slave_IO_Running: No与Slave_SQL_Running: No,然后stop sla ...
- yii mysql 主从_mysql主从同步实践 YII
1.两台服务器互联master.slave 2.master配置: server-id = 1 master端ID号 log-bin=/data/logbin/mysql-bin 日志路径及文件名 # ...
- centos7 xampp启动mysql数据库_mysql主从配置,用win xampp和centos7环境下测试
mysql复制是基于主服务器的二进制日志中跟踪所有对数据库的增删改的,要开启主服务器的二进制日志 本地环境介绍: 主mysql: win 用的是Xampp集成环境,mysql5.6.ip地址:192. ...
- 配置mysql读写主从_Mysql主从配置,实现读写分离
MySQL数据库监控功能作为SUM服务器监控软件的一项基本功能,从SUM服务器监控软件发布开始就一直作为其核心功能之一,大量用户环境中正式使用,具有稳定.易用.指标齐全等特点. 通过SUM可以快速监控 ...
- mysql主从_MySQL主从原理及配置详解
MySQL主从配置及原理,供大家参考,具体内容如下 一.环境选择: 1.Centos 6.5 2.MySQL 5.7 二.什么是MySQL主从复制 MySQL主从复制是其最重要的功能之一.主从复制是指 ...
- MySQL故障检测_mysql主从故障检测处理脚本
#!/bin/bash ########################################################### # ...
- centos6.5搭建mysql主从_mysql 主从配置,主-》windows,从-》centos6.5
1.虚拟机配置的主从关系.win7 ip地址192.168.52.102,虚拟机ip 192.168.184.128.docs进入主服务器(master)mysql目录下,添加用户,然后执行mysql ...
- mysql文档 主从_Mysql主从文档
一.安装 1.Mysql5.5.28版本需要用cmake安装,所以需要首先yum –y install cmake 2.tar -zxvf mysql-5.5.28.tar.gz 3.cd mysql ...
- mysql gman do_Redis 学习笔记四 Mysql 与Redis的同步实践
一.测试环境在Ubuntu kylin 14.0464bit 已经安装Mysql.Redis.php.lib_mysqludf_json.so.Gearman. 点击这里查看测试数据库及表参考 本文也 ...
最新文章
- java trackid_Java Preference.getContext方法代码示例
- 不是碰不到更好的,是因为已经有了你!
- HUST软工1506班第2周作业成绩公布
- PRML(2)--绪论(下)模型选择、纬度灾难、决策论、信息论
- 面试题系列(10):一个大型电商网有大量的图片,加载很慢,你有哪些方法优化这些图片的加载?...
- 调整谷歌reCAPTCHA大小 How to resize the Google noCAPTCHA reCAPTCHA
- cocos2dx+lua注册事件函数详解 事件
- lintcode 中等题:Palindrome Linked List 回文链表
- 升级AndroidX appcompat 1.2+版本导致多语言切换失败解决方案及问题分析
- 百度下拉词目前用软件工具可以刷出来吗?
- 计算机网络故障的排除,计算机网络故障诊断与排除
- 小白必看:IT转行需要注意什么,这几个问题很重要
- CAD中插入外部参照字体会变繁体_知道这些技巧-轻松攻克CAD所有困难
- 企业vi标志设计中文字设计的方法
- linux安全(1)
- 在OpenBSD中安装Apache
- 2021.12.9 java代码对接sap接口(soap协议、webservice)
- Tournament
- 基于物联网的室内环境检测云系统设计(树莓派RPI、Arduino、智能家居、RFID、APP)
- Pr 入门教程如何设置动画旋转图形?