Ansible部署系列續(xù):(三)安裝MySQL-pxc

3. 安裝MySQL-pxc

3.1. 說明

之前為了搭建高可用的MySQL的集群货矮,所以安裝MySQL-pxc稽揭,具體介紹可以看https://www.percona.com/software/mysql-database/percona-xtradb-cluster
不知道為什么服務(wù)器下載都巨慢登渣,所以我都使用離線安裝喷户。下載的是主要的包隙轻,還有其他一堆依賴需要服務(wù)器自己去下載始绍。

ansiblehosts文件

[mysqlservers]
sz-1 node_name=pxc1
sz-2 node_name=pxc2

3.2. yml腳本

---
- hosts: mysqlservers
  remote_user: root
  vars_files:
    - ../vars.yml

  tasks:
  - name: Ensure SELinux is set to enforcing mode
    lineinfile:
      path: /etc/selinux/config
      regexp: '^SELINUX='
      line: SELINUX=permissive
  - name: Copy rpm
    copy:
      src: "{{ PLAYBOOK_DIR }}/files/mysql"
      dest: /mnt
      owner: root
      group: root
      mode: 0755
  - name: install prepare
    yum:
      name: "/mnt/mysql/percona-release-latest.noarch.rpm"
      state: present

  - name: install pxc
    shell: "yum localinstall -y /mnt/mysql/Percona/*"

  - name: firewarld add 3306
    firewalld:
      port: 3306/tcp
      permanent: true
      immediate: true
      zone: public
      state: enabled
  - name: firewarld add 4444
    firewalld:
      port: 4444/tcp
      permanent: true
      immediate: true
      zone: public
      state: enabled
  - name: firewarld add 4567
    firewalld:
      port: 4567/tcp
      permanent: true
      immediate: true
      zone: public
      state: enabled
  - name: firewarld add 4568
    firewalld:
      port: 4568/tcp
      permanent: true
      immediate: true
      zone: public
      state: enabled
      
  - name: Copy config
    template:
      src: "{{ PLAYBOOK_DIR }}/mysql-pxc/templates/wsrep.cnf.j2"
      dest: /etc/percona-xtradb-cluster.conf.d/wsrep.cnf
      owner: root
      group: root
      mode: 0755

  - name: set SELinux to permissive
    shell: setenforce 0
    
  - name: start mysql@bootstrap
    service:
      name: mysql@bootstrap
      state: started
    when: inventory_hostname == groups['mysqlservers'][0]

因?yàn)槭谴罱和海枰葐?dòng)第一個(gè)節(jié)點(diǎn),進(jìn)行配置完后再啟動(dòng)其他節(jié)點(diǎn)亏推,各節(jié)點(diǎn)會(huì)自動(dòng)建立鏈接学赛。

3.3. 模板文件

因?yàn)榇罱ǖ氖羌涵h(huán)境,因此都需要配置節(jié)點(diǎn)

3.3.1 wsrep.cnf.j2

[mysqld]
# Path to Galera library
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so

# Cluster connection URL contains IPs of nodes
#If no IP is found, this implies that a new cluster needs to be created,
#in order to do that you need to bootstrap this node
wsrep_cluster_address=gcomm://{% set comma = joiner(",") %}
{% for item in groups['mysqlservers'] -%}
    {{ comma() }}{{ hostvars[item].inventory_hostname }}
{%- endfor %}

# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW

# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB

# Slave thread to use
wsrep_slave_threads=8

wsrep_log_conflicts

# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2

# Node IP address
wsrep_node_address={{ ansible_default_ipv4.address }}
# Cluster name
wsrep_cluster_name=newtranx-pxc-cluster

#If wsrep_node_name is not specified,  then system hostname will be used
wsrep_node_name={{ node_name }}

#pxc_strict_mode allowed values: DISABLED,PERMISSIVE,ENFORCING,MASTER
pxc_strict_mode=ENFORCING

# SST method
wsrep_sst_method=xtrabackup-v2

#Authentication for SST method
wsrep_sst_auth=sstuser:passw0rd

3.4. 運(yùn)行ansible-playbook

ansible-playbook -i /etc/ansible/hosts mysql/main.yml

3.5. 基本配置

修改密碼吞杭、創(chuàng)建遠(yuǎn)程用戶盏浇、修改權(quán)限,這里不做贅述篇亭,參考之前寫的《Ansible部署系列:(六)安裝MySQL》

3.6. 啟動(dòng)其他節(jié)點(diǎn)

---
- hosts: mysqlservers
  remote_user: root
  vars_files:
    - ../vars.yml

  tasks:
    - name: set SELinux to permissive
      shell: setenforce 0
  
    - name: start mysql
      service:
        name: mysqld
        state: started
      when: inventory_hostname != groups['mysqlservers'][0]

3.7. 查看各節(jié)點(diǎn)狀態(tài)

show status like 'wsrep%';
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載缠捌,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。
  • 序言:七十年代末译蒂,一起剝皮案震驚了整個(gè)濱河市曼月,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌柔昼,老刑警劉巖哑芹,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異捕透,居然都是意外死亡聪姿,警方通過查閱死者的電腦和手機(jī)碴萧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來末购,“玉大人破喻,你說我怎么就攤上這事∶肆瘢” “怎么了曹质?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長擎场。 經(jīng)常有香客問我羽德,道長,這世上最難降的妖魔是什么迅办? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任宅静,我火速辦了婚禮,結(jié)果婚禮上站欺,老公的妹妹穿的比我還像新娘姨夹。我一直安慰自己,他們只是感情好镊绪,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布匀伏。 她就那樣靜靜地躺著,像睡著了一般蝴韭。 火紅的嫁衣襯著肌膚如雪够颠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天榄鉴,我揣著相機(jī)與錄音履磨,去河邊找鬼。 笑死庆尘,一個(gè)胖子當(dāng)著我的面吹牛剃诅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播驶忌,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼矛辕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了付魔?” 一聲冷哼從身側(cè)響起聊品,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎几苍,沒想到半個(gè)月后翻屈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡妻坝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年伸眶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了惊窖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,739評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡厘贼,死狀恐怖界酒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情嘴秸,我是刑警寧澤盾计,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站赁遗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏族铆。R本人自食惡果不足惜岩四,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望哥攘。 院中可真熱鬧剖煌,春花似錦、人聲如沸逝淹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽栅葡。三九已至茉兰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間欣簇,已是汗流浹背规脸。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留熊咽,地道東北人莫鸭。 一個(gè)月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像横殴,于是被迫代替她去往敵國和親被因。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容