數據庫的讀寫分離能很大程度上減輕數據庫的壓力,讀寫分離的前提就是主從數據同步,而後在主庫作增刪改,從庫作查詢。html
例如:mysql
主庫:192.168.0.1sql
從庫:192.168.0.2數據庫
兩個數據庫都安裝了Mysql數據庫,保證容許遠程鏈接服務器
主數據庫配置yii2
1.修改mysql配置文件 /etc/my.cnf,這部分必定要配置在[mysqld]後面yii
[mysqld]
log-bin=mysql-bin
server-id=1 //設置數據庫服務器惟一ID,這裏咱們指定爲1。
binlog-do-db=hyii2 //設置須要同步的數據庫,若是須要設置多個,則加入多條這行語句。
2.重啓數據庫ide
systemctl mysql restart
3.登陸主庫post
mysql -u root -p //而後輸入密碼登陸
4.進入數據庫以後給主數據庫受權一個能夠進行復制的用戶,執行以下命令:測試
mysql> grant replication slave on *.* to 'slave'@'%' identified by '123456';
注意:用戶名slave和密碼123456能夠自定義
5.查看是否建立成功,命令以下
mysql> use mysql;
mysql> select user,host from user;
六、查看主庫信息
mysql> show master status;
注意:記錄下這些值,在從庫配置的時候要用到
7.遷移數據,將主庫的hyii2數據複製到從庫,保證主從庫擁有兩個同樣的數據庫hyii2
從數據庫配置
1.鏈接從庫,修改mysql配置文件 /etc/my.cnf,這部分必定要配置在[mysqld]後面
[mysqld]
log-bin=mysql-bin
server-id=2
replicate-do-db=hyii2
master-host=192.168.0.2
master-user=slave
master-password=123456
2.登陸到從庫的數據庫,作同步設置(此處要用到上面6中記錄的數據)
mysql> slave stop; //先關閉庫服務
mysql> change master to
master_host='192.168.0.2',
master_user='slave',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=392;
mysql> slave start; //啓動庫服務
注意:語句中的逗號不要有空格,能夠連在一塊兒寫,(爲了方便閱讀作了換行),語句中的slave不是用戶名
3.測試同步結果
在主庫hyii2中新建一個表test,而後看下從庫是否相應生成對應的test表,若是生成了那麼恭喜你,主從同步配置就成功了。
來源:http://www.yii-china.com/post/detail/283.html