<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        mysql主從同步實踐YII

        來源:懂視網 責編:小采 時間:2020-11-09 07:54:12
        文檔

        mysql主從同步實踐YII

        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-d
        推薦度:
        導讀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-d

        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


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




        /**
        * DbConnectionMan(Database Connection Manager) class is a manager of database connections.
        * for the purpose of database read/write splitting.
        * It override the createCommand method,
        * detect the sql statement to decide which connection will be used.
        * Default it use the master connection.
        * */
        class DbConnectionMan extends CDbConnection {


        /**
        * @var array $slaves.Slave database connection(Read) config array.
        * The array value's format is the same as CDbConnection.
        * @example
        * 'components'=>array(
        * 'db'=>array(
        * 'connectionString'=>'mysql://',
        * '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'),
        ),
        ),

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        mysql主從同步實踐YII

        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-d
        推薦度:
        標簽: 同步 服務器 互聯
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲综合av一区二区三区不卡 | 日本红怡院亚洲红怡院最新| 亚洲天堂中文字幕在线观看| 国产免费福利体检区久久| 成人免费无码大片a毛片软件| 久久久久久a亚洲欧洲AV| 在线观看黄片免费入口不卡| 国产一级高清视频免费看| 亚洲黄色中文字幕| a毛片在线还看免费网站| 亚洲人AV永久一区二区三区久久| 亚洲国产成人久久精品影视| 视频一区在线免费观看| 国产一精品一AV一免费孕妇| 久久精品国产亚洲AV久| 国产精品极品美女免费观看| 一级女性全黄生活片免费看| 亚洲国产成人精品无码区在线观看| 久久久久久久久久国产精品免费 | 欧美日韩国产免费一区二区三区| 2019亚洲午夜无码天堂| 国产一区二区免费在线| 一本一道dvd在线观看免费视频| 亚洲成av人在线视| 日本亚洲免费无线码| 福利片免费一区二区三区| 亚洲香蕉网久久综合影视| 99热这里只有精品免费播放| 亚洲午夜无码久久| 亚洲精品无码成人片在线观看| 免费人成网站在线观看不卡| 中文字幕亚洲综合小综合在线| 日本免费福利视频| 成在人线av无码免费高潮喷水| 亚洲高清资源在线观看| 日本一区免费电影| 成人电影在线免费观看| 亚洲av极品无码专区在线观看| 免费成人黄色大片| 37pao成人国产永久免费视频| 亚洲AV色无码乱码在线观看|