微贊微擎V0.8以上版本:【數據庫讀寫分離】實戰教程 [復制鏈接]


http://www.efwww.com/forum.php?mod=viewthread&tid=4870

 

馬上注冊,下載更多源碼,讓你輕松玩轉微信公眾平台。

您需要 登錄 才可以下載或查看,沒有帳號?立即注冊 

x
【MYSQL數據庫主從分離准備】
1、主服務器數據庫准備
     首先安裝主數據庫:這段內容大家問度娘 
  1.1配置主數據庫my.ini
     打開my.ini,在[mysqld]下面添加以下參數    
  • #開啟MYSQL二進制日志
  • log-bin=mysql-bin
  • #服務器ID不能重復
  • server-id=1
  • #需要做備份的數據庫名稱
  • binglog-do-db=
  • #只保留7天的二進制日志
  • expire-logs-day=7

復制代碼
1.2 配置主從復制賬號  登陸mysql控制器設置用於主從復制的獨立賬號 
  • MYSQL>GRANT REPLICATION SLAV<span style="line-height: 1.5;">E ON *.* TO ‘帳號’@’從服務器IP’ IDENTIFIED BY ‘密碼';</span>

復制代碼
1.3 重啟MySQL ,讓配置生效.可以通過show master status\G;查看主數據庫是否配置成功。2、從數據庫的准備及數據同步
2.1 微擎系統關閉站點,備份數據庫。
2.2 在主服務器設置只讀鎖
  • MYSQL > PlUSH TABLES WITH READ LOCK;

復制代碼
2.3 通過命令行導出數據庫以上數據庫導出方式中也可以通過工具導出,而后為主數據庫增加只讀鎖,導出前增加只讀鎖處於數據保真的觀念,但並不是必須。
2.4 將主服務器的數據庫導入到從服務器的數據庫
2.5 解除主數據庫只讀鎖,重新開啟微擎(開啟只讀鎖只是為了導出數據保真,並不是必須步驟)
  • MYSQL > UNLOCK TABLES

復制代碼
2.6 配置從數據庫my.ini (如果是win系統則是my.cnf)(主從數據系統可以混合,且主從數據庫支持多台,以此實現分布式數據管理)
      打開my.ini,在[mysqld]下面添加以下參數
  • #服務器ID不可重復
  • server-id=2
  • #主數據庫的端口
  • master-port=3306
  • #需要做復制的數據庫名
  • replicate-do-db=
  • #不需要復制的表,一般session表可以跳過
  • relicate-ignore-table=
  • #自動跳過的錯誤代碼,以防復制被中斷
  • slave-skip-errors=1032,1062,126,1114,1146,1048,1396

復制代碼
2.7 重啟從數據庫,設置生效

2.8 登錄從數據庫的MySQL命令行,執行:

  • change master to master_host=’主服務器IP’, master_user=’主服務器賬號’, master_password=’主服務器密碼’, master_log_file=’file的值’, master_log_pos=position的值;

復制代碼

//設置連接信息,file及position的值是之前記錄下來(在主服務器上通過show master status\G;),position的值沒有單引號,其他的值要單引號

2.9 啟動從庫連接,查看從庫狀態,添加主數據庫賬號


start slave; //啟動從庫連接


show slave status\G; //查看連接情況

再次打開從數據庫的my.ini,在[mysqld]下面添加以下參數

  • #主數據庫的IP
  • master-host=
  • #主數據庫主從復制賬號
  • master-user=
  • #主數據主從復制密碼
  • master-password=

復制代碼

重啟生效,再主數據隨意增加數據,查看從數據庫備份信息是否正常,如正常則主從復制已經完成。如不正常,查看前面分步驟是否有不正常或者參數是否缺少標的

3 微擎config.php配置文件設置

3.1打開主從復制開關,在config.php上增加一條

  • $config['db']['slave_status'] = 1; //0代表未開啟

復制代碼

3.2 配置主從或多組數據庫信息(從數據庫增加只讀參數)

  • $config['db']['1']['host'] = '127.0.0.1';
  • $config['db']['1']['username'] = '';
  • $config['db']['1']['password'] = '';
  • $config['db']['1']['port'] = '3306';
  • $config['db']['1']['database'] = '主數據庫名';

復制代碼

3.3 配置從數據庫禁用表名

在從數據配置中有幾個表名可以禁用掉,只從主數據庫讀取

  • #禁止從從數據庫讀寫的表名,表名之間用,分隔
  • $config['db']['common']['slave_excpet_table']=' '; //此參數要加在從數據庫的配置記錄下

復制代碼

寫在后面,整理,基本配置如上,不是所有的環境都是如此配置,這個按照我們自己運營系統的情況所寫,對微擎源代碼多處都有修改,各位小伙伴按照自己實際生產環境走。

另外微擎的配置文件只有一個,其實如果分離從主配置和從配置也是可以的,當然要修改一下代碼。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM