Ansible部署主從複製

2022-05-30 02:39:08 字數 1968 閱讀 9278

目錄

1.兩台或兩台以上的資料庫例項

2.主庫要開啟二進位制日誌

3.主庫要有複製使用者

4.主庫的server_id和從庫不同

5.從庫需要在開啟複製功能前,要獲取到主庫之前的資料(主庫備份,並且記錄binlog當時位置)

6.從庫在第一次開啟主從複製時,時必須獲知主庫:ip,port,user,password,logfile,pos

ip:10.0.0.51

port:3306

user:rep

password:123456

logfile:mysql-bin.000002 <--在主庫上獲取值

pos:120 <--在主庫上獲取值

8.從庫需要記錄複製相關使用者資訊,還應該記錄到上次已經從主庫請求到哪個二進位制日誌

9.從庫請求過來的binlog,首先要存下來,並且執行binlog,執行過的資訊儲存下來

· ansible部署主從複製出現的問題:由於主庫的logfile,和pos不是固定的所以,我們所寫的ansible前提是要在主庫上執行命令,進行檢視logfile和pos

show master status;
主機檔案:

[mysql]

172.16.1.51

172.16.1.52

· 這裡我使用了register註冊變數,但是註冊的變數只能針對當前主機生效。通過設定全域性的fact變數來實現跨主機變數的使用,從而自動獲取到logfile和pot。

#將logfile註冊成變數。

- name: get logfile

shell: mysql -uroot -p123456 -e "show master status;"|awk 'nr==2'

register: file

when: ( ansible_hostname is match "mysql01" )

#將pot註冊成變數

- name: master-bin-pot

shell: mysql -uroot -p123456 -e "show master status;"|awk 'nr==2'

register: pot

when: ( ansible_hostname is match "mysql01" )

1.通過set_fact模組來設定全域性的fact變數

- name: set facts file

set_fact: masterbin=} <--將獲取到的logfile賦值給masterbin

when: ( ansible_hostname is match "mysql01")

- name: set facts position

set_fact: position=} <--將獲取到的pot賦值給position

when: ( ansible_hostname is match "mysql01")

2.從庫上執行change master to 命令

- name: changemaster to

mysql_replication:

login_user: root

login_password: '123456'

mode: changemaster

master_user: web

master_password: '123456'

master_host: 172.16.1.51

master_log_file: "}" <--引用51的主機變數

master_log_pos: "}" <--引用51的主機變數

when: ( ansible_hostname is match "mysql02" )

Mysql主從複製和Redis主從複製的區別

這是學習的時候自己總結的筆記,因為使用typora記筆記,導致太多的筆記分散,所以傳到部落格方便查詢,代表的是typora裡的高亮 mysql主從複製和redis主從複製的區別 複製時機 mysql的主從複製是 從接入點開始 主機之前的資料,從機不會複製 但是redis是 從頭開始備份 主機之前的資...

mysql主從複製

罪過啊,博主最近好久沒有更新部落格了,轉有道雲筆記了,筆記裡還有些乾貨,最近慢慢分享出來吧。博主最近發現有好多想學,但是發現精力有限啊,博主本來是搞個開發的,但是偏偏想把運維,dba的技術全都學了 mysql集群,nginx等等等 但是發現精力有限,所以簡單了解一下,mysql的主從複製,後面還有m...

MySQL 主從複製

1.概念 將主伺服器的資料複製到另外一台或多台伺服器的過程。也即將主資料庫的ddl和dml操作通過二進位制日誌傳到復 務器上,然後在從伺服器上對這些日誌進行重新執行,從而 保持資料同步。2.作用 降低主伺服器的訪問壓力 避免主伺服器因故障導致資料丟失。3.操作步驟 1 主伺服器將資料的改變記錄到二進...