国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql主從集群配置

2024-07-24 12:35:42
字體:
來源:轉載
供稿:網友

  先編輯master配置:
 
  vim /etc/my.cnf
 
  (加上紅框部分。#server id部分:每個都有獨一無二的id作為區分,這id可以用服務器ip后三位。#binary log:日志。#statement row mixed:三種監聽方式)
 
  其中三種情況:監聽語句變化,還是磁盤變化,還是混合模式?
 
  然后編輯slave的/etc/my.cnf:
 
  (設置id,建立中繼日志)
 
  然后分別啟動主和從:service mysqld start
 
  接下來,主和從要建立聯系:
 
  登錄mysql:
 
  mysql -uroot -p
 
  master建立授權帳號(這個帳號允許你復制master的二進制日志。一個replication client帳號,一個replication slave帳號):
 
  (授權一個客戶端帳號、一個從帳號。*.*:作用于所有庫和表上,不像mongodb能單選某庫某表。to 帳號repl,指定它發揮作用的ip:@192.168.%.%,即前綴是192.168都可以用。identitied by 'repl':指定密碼為repl)
 
  到目前為止,主服務器的日志、帳號、從服務器的relaylog好了,只需要通知從服務器連過來:
 
  mysql主從集群配置(master_log_file是當前master所用的二進制文件。master_log_pos是當前master的position。下面有查看方法)
 
  見識下二進制日志:
 
  目前用的最新的二進制日志是:
 
  mysql主從集群配置(mater機器)
 
  看看當前master機器的狀態:
 
  mysql主從集群配置(確實當前用的是mysql-bin.000003,position 278的意思是:我主服務器已經寫到278位置了,你從服務器注意哈)
 
  操作slave:
 
  mysql主從集群配置(reset slave:重置slave。然后設置對應master的相關信息)
 
  查看slave的情況:show slave status /G
 
  啟動slave:
 
  再查看狀態就好了(第一行變成了waiting  for master to send event):
 
  接下來,不管在master是新建庫、表,各種增刪改查,在slave中都會看到相應的變化
 
  典型問題:
 
  有一業務場景,經過測試,讀寫比為1:20,請根據讀寫比,合理設置優化方案.
 
  讀寫比:
 
  寫數據/讀數據的比例,
 
  Insert/update/delelte     /  select
 
  不管具體技術,從"讀寫分離"的概念出發來推導一下基本的要素.
 
  通俗的說:讀服務器就是指寫服務器的數據鏡像.
 
  從服務端看:要有N臺從服務器和主服務器保持數據一致.
 
  從客戶端看:比如有一條insert語句和一條select 語句,
 
  則要區分讀/寫語句,并且分別請求從/主服務器.
 
  1:數據庫集群技術
 
  集群由3個概念
 
  1:sql節點  sql node
 
  2:數據節點 data node
 
  3:管理節點 ndb managerment
 
  Sql語句發送"1sql節點", "1sql"節點發往"2數據節點",再由3管理節點完成數據節點的之間的同步.
 
  集群技術相對復雜,至少有3種節點,4臺服務器才能完成.
 
  2:數據庫復制 replication
 
  數據庫復制 replication 的實現原理
 
  1:主服務器凡運行語句,都產生一個二進制日志 binlog
 
  2:從服務器不斷讀取主服務器的binlog
 
  3:從主服務讀取到的binlog,轉換為自身可執行的relaylog,
 
  4:執行relaylog
 
  實現步驟:
 
  1:首先確保主服務器打開二進制日志功能.
 
  這樣,主服務器一旦有數據變化,立即產生二進制日志.
 
  2:從服務器也需要開啟二進制日志和relay日志功能.
 
  這樣可以從主服務器讀取binlog,并產生relaylog
 
  3:在主服務器建立一個從服務器的賬號,并授予數得上權限.
 
  4: 指定從服務對應的主服務器,開啟從服務器.
 
  具體實施
 
  本人虛擬機下有兩臺linux,IP為199 200
 
  1: 200做從服務器
 
  2: 199mysql,做為主服務器.
 
  3: 保證主從3306端口互通.
 
  4: 配置主服務器,打開binlog
 
  #給服務器起一個唯一的id
 
  server-id=1
 
   #開啟二進制日志
 
  log-bin=mysql-bin
 
  #指定日志格式
 
  binlog-format=mixd/row/statement
  重啟mysql
 
  已經能夠充當master服務器
 
  5: 配置從服務器打開binlog和relaylog
 
  重啟從服務器
 
  6: 在主服務器上創建相應的復制賬號
 
  7: 在從服務器通過語句指定要復制的主服務器(注意,可以一主多從,不可一從多主).
 
  8:啟動從服務器功能
 
  ->start slave;
 
  8: 測試.
 
  show master status ; 查看master的狀態, 尤其是當前的日志及位置
 
  show slave stattus; 查看slave的狀態.
 
  reset slave ;  重置slave狀態.
 
  start slave ; 啟動slave 狀態(開始監聽msater的變化)
 
  stop slave; 暫停slave狀態;

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 疏勒县| 商南县| 宽城| 肃南| 玛多县| 洛阳市| 康马县| 平遥县| 新津县| 辽中县| 阳曲县| 高雄市| 兴仁县| 京山县| 敦煌市| 五河县| 闸北区| 景宁| 渝北区| 桦甸市| 长岭县| 南丰县| 建始县| 维西| 邵阳市| 隆德县| 香港 | 黄陵县| 丽江市| 南宫市| 进贤县| 南和县| 五寨县| 嵊州市| 宁武县| 武定县| 邢台市| 怀安县| 绥棱县| 凌源市| 怀远县|