YII配置mysql讀寫分離

Mysql 讀寫分離php

YIi 配置mysql

 

<?php

return [
    'class' => 'yii\db\Connection',
    'masterConfig' => [
               // 'dsn' => 'mysql:host=localhost;dbname=studyyii',
                'username' => 'root',
                'password' => 'caesar',
                'charset' => 'utf8',
                'attributes' => [
                    // use a smaller connection timeout
                    PDO::ATTR_TIMEOUT => 10,
                ],
    ],

    // 配置主服務器組
    'masters' => [
        ['dsn' => 'mysql:host=172.31.80.31;dbname=studyyii'],
      //  ['dsn' => 'dsn for master server 2'],
    ],

    // 配置從服務器
    'slaveConfig' => [
        'username' => 'root',
        'password' => 'root',
        'charset' => 'utf8',
        'attributes' => [
            // use a smaller connection timeout
            PDO::ATTR_TIMEOUT => 10,
        ],
    ],
    // 配置從服務器組
    'slaves' => [
        ['dsn' => 'mysql:host=localhost;dbname=studyyii'],
    ],
];

 

 

 

 

 

 

 

Linux mysql master linux

My.cnf:sql

server_id = 1   #從服務器標識,範圍1---2E32-1

log_bin = mysql_bin

binlog_do_db = studyyii

binlog_do_db = mysql

 

 

#mysql service restart數據庫

 

windows mysql slavewindows

 

mysql.ini:服務器

[mysqld]

port=3306

server-id = 2

replicate-do-db = study

 

 

重啓mysql yii

登錄mysqlide

mysql> stop slave;spa

mysql> change master to master_host='192.168.1.200',master_user='root',master_password='123456';

mysql> start slave;

mysql> show slave status\G;

 

查看這兩項是否爲YESyes爲正常。

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

 

Ok 了 讀寫分離,主從同步

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Mysql –master linux-slave

 

My.ini:

 

Server-id=1

relay-log=relay-bin

relay-log-index=relay-bin-index

binlog-do-db = studyyii

 

 

重啓服務器

登錄mysql

Mysql –u root –p

在主數據庫創建slave鏈接的權限:

mysql> grant replication slave,reload,super on *.* to 'root'@'172.31.80.31' iden

tified by 'root';

root爲鏈接的帳號,IP 和密碼)

Show master status;

 

記住,之前我沒設置權限,顯示的position120 一直由於沒開權限麼啓動

至此,Windows mysql master 設置完畢

 

2、打開Linux mysql

 Vi /etc/my.cnf #根據你服務器MySQL的設置來編輯,編輯mysql的配置文件

MySQLd下面添加配置:

 

 

wq 保存退出

 

Service mysql restart  #個人mysql5.6.23 已經添加爲系統服務,其它一下版本是mysqld ,反正就是重啓mysql,根據本身的配置來

 

Mysql –u root –p #鏈接mysql

設置鏈接:

change master to master_host='172.31.80.26',master_user='root',master_password='root', master_log_file='mysql-bin.000014',mas14',master_log_pos=344;

 

#鏈接的帳戶 IP 密碼爲mastermysql的。Master_log_file log_pos 爲前期Windows mysqlshow master status 中看到。

 

出現OK以後

Start slave;啓動slave

查看狀態

Show slave status\G;

 

slave_IO_Running Slave_SQL_Running 都爲yes  說明配置成功。

若是IO_Running connecting 說明一直在鏈接,你的配置是有問題的,

檢查master 是否有錯誤,檢查slave鏈接master是否有問題,

 

而後你就看到更改數據 數據庫能夠同步了。

相關文章
相關標籤/搜索