Rumah pangkalan data tutorial mysql MySQL-MMM的负载均衡及高可用

MySQL-MMM的负载均衡及高可用

Jun 07, 2016 pm 05:25 PM
mysql pengimbangan beban Ketersediaan tinggi

用途mmm是基于信息探测方式进行mysql主从复制架构的监测与故障转移mmm可以做到负载均衡,100%的数据可用性mmm所涉及的检查项服务器可达性,服务可达性,复制线程可

用途
 mmm是基于信息探测方式进行mysql主从复制架构的监测与故障转移
 mmm可以做到负载均衡,100%的数据可用性
 mmm所涉及的检查项   服务器可达性,服务可达性,复制线程可控性

 如图: 当 master1在宕机时, mmm可以将之前分摊的流量进行转移,甚至于将从服务器提升为主

延续双主模型.

wKioL1NT5nvQXXy2AADZ8aMp5QU075.jpg


mmm-agent端状态一览
   online 节点可用
   replication_delay 复制延迟或无法进行(检查req_backlog文件)
   replication_fail 复制失败
   awating_recovery 等待恢复
   hard_offline  主机离线
   admin_offline  主控端离线
   unknown  未知错误

规划如下
172.16.43.200  主控机器负责监测与资源的管理
172.16.43.1  vip(172.16.43.11)  master1 主主复制第一台(可读写)
172.16.43.2  vip(172.16.43.12)  master2 主主复制第二台(只读)
172.16.43.3  vip(172.16.43.13)  slave   主从方式复制 1 , 2 的信息(只读)


实验过程如下

主控安装安装: ansible, mysql客户端, mysql-mmm
集群节点安装如下: mariadb, mysql-agent


i)  主机互信,ansible部署的关键

yum -y install ansible-1.5.4-1.el6.noarch.rpm vim /etc/ansible/hosts # 主控节点完成 [masterserver] master1.king.com master2.king.com . [slaveserver] slave.king.com # 主控节点完成互信多个被管理节点不重复了 ssh-keygen -t rsa ssh-copy-id -i .ssh/id_rsa.pub root@slave.king.com . # 主控节点完成安装mysql-mmm* yum -y install mysql mysql-mmm* . # 实现mmm配置文件有两种 # 1. 主控端 mmm_common, mmm_mon # 2. 集群端 mmm_common, mmm_agent # 主控端配置common /etc/mysql-mmm/mmm_common.conf active_master_role writer . cluster_interface eth0 pid_path /var/run/mysql-mmm/mmm_agentd.pid bin_path /usr/sbin replication_user repl replication_password repl agent_user mmm_agent agent_password agent_password . ip 172.16.43.1 mode master peer master2 . ip 172.16.43.2 mode master peer master1 . ip 172.16.43.3 mode slave . # 谁能写 vip是多少(参照本文配置) hosts master1, master2 ips 172.16.43.11 mode exclusive . # 谁能读 vip是多少(参照本文配置) hosts master1, master2 ips 172.16.43.11, 172.16.43.12, 172.16.43.13 mode balanced . # 主控节点完成 vim /etc/mysql-mmm/mmm_mon.conf # 需要改 ping_ips, 把你想监控的集群加入进入就可以了 # 172.16.0.1 是网关ip ping_ips 172.16.0.1, 172.16.43.1, 172.16.43.2, 172.16.43.3 . monitor_user mmm_monitor monitor_password monitor_password

ii) 安装 mariadb, mysql-agent安装与配置

# 编写 install.yaml, 使用ansible-playbook执行按成安装配置 - hosts: masterserver:slaveserver remote_user: root tasks: - name: mariadb install copy: src=/root/mariadb-10.0.10-linux-x86_64.tar.gz dest=/tmp - name: conf service command: tar xf /tmp/mariadb-10.0.10-linux-x86_64.tar.gz -C /usr/local ############################################################### # 见谅下面的 name: x , 写了半天才知道不能在一个name中包含多个command,所以.. # ############################################################### - name: 1 command: ln -sv /usr/local/mariadb-10.0.10-linux-x86_64 /usr/local/mysql - name: 2 command: cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld - name: 3 command: chmod +x /etc/rc.d/init.d/mysqld - name: 4 command: mkdir /mydata/data -p - name: 5 command: mkdir /mydata/binlogs -p - name: 6 command: mkdir /mydata/relaylogs -p - name: 7 command: useradd -r -s /sbin/nologin mysql -U - name: 8 command: chown mysql.mysql /mydata -R - name: 9 command: chown mysql.mysql /usr/local/mysql -R - name: 9-1 # 将本地配置好的安装文件移植到集群节点, 解压的配置文件可能不符合要求 copy: src=/usr/local/mysql/scripts/mysql_install_db dest=/usr/local/mysql/scripts/ - name: 10 command: /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata/data - name: mariadb conf # 此处配置文件 /etc/my.cnf 配置好 # log-bin=/mydata/binlogs/mysql-bin # relay-log=/mydata/relaylogs/relay-bin # datadir=/mydata/data copy: src=/etc/my.cnf dest=/etc/my.cnf notify: - restart mariadb - name: install mysql-mmm-agent yum: name=mysql-mmm-agent state=present - name: conf mysql-mmm-agent copy: src=/etc/mysql-mmm/mmm_common.conf dest=/etc/mysql-mmm - name: modify mmm_agent.conf command: sed -i 's@^\(this[[:space:]]\).*@\1{{ item }}@' /etc/mysql-mmm/mmm_agent.conf with_items: - master1 - master2 - slave - name: 11 command: sed -i 's@^\(ENABLED=\).*@\11@' /etc/default/mysql-mmm-agent handlers: - name: restart mariadb service: name=mysqld state=restarted

wKioL1NT2rTwIXu9AAZvuvT0Nhc295.jpg


不熟yaml的童鞋可以 yaml.org


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

MySQL: Kemudahan Pengurusan Data untuk Pemula MySQL: Kemudahan Pengurusan Data untuk Pemula Apr 09, 2025 am 12:07 AM

MySQL sesuai untuk pemula kerana mudah dipasang, kuat dan mudah untuk menguruskan data. 1. Pemasangan dan konfigurasi mudah, sesuai untuk pelbagai sistem operasi. 2. Menyokong operasi asas seperti membuat pangkalan data dan jadual, memasukkan, menanyakan, mengemas kini dan memadam data. 3. Menyediakan fungsi lanjutan seperti menyertai operasi dan subqueries. 4. Prestasi boleh ditingkatkan melalui pengindeksan, pengoptimuman pertanyaan dan pembahagian jadual. 5. Sokongan sokongan, pemulihan dan langkah keselamatan untuk memastikan keselamatan data dan konsistensi.

Bolehkah saya mengambil kata laluan pangkalan data di Navicat? Bolehkah saya mengambil kata laluan pangkalan data di Navicat? Apr 08, 2025 pm 09:51 PM

Navicat sendiri tidak menyimpan kata laluan pangkalan data, dan hanya boleh mengambil kata laluan yang disulitkan. Penyelesaian: 1. Periksa Pengurus Kata Laluan; 2. Semak fungsi "Ingat Kata Laluan" Navicat; 3. Tetapkan semula kata laluan pangkalan data; 4. Hubungi pentadbir pangkalan data.

Cara Membuat Premium Navicat Cara Membuat Premium Navicat Apr 09, 2025 am 07:09 AM

Buat pangkalan data menggunakan Navicat Premium: Sambungkan ke pelayan pangkalan data dan masukkan parameter sambungan. Klik kanan pada pelayan dan pilih Buat Pangkalan Data. Masukkan nama pangkalan data baru dan set aksara yang ditentukan dan pengumpulan. Sambung ke pangkalan data baru dan buat jadual dalam penyemak imbas objek. Klik kanan di atas meja dan pilih masukkan data untuk memasukkan data.

Cara menyalin jadual di mysql Cara menyalin jadual di mysql Apr 08, 2025 pm 07:24 PM

Menyalin jadual di MySQL memerlukan membuat jadual baru, memasukkan data, menetapkan kunci asing, menyalin indeks, pencetus, prosedur tersimpan, dan fungsi. Langkah -langkah khusus termasuk: mewujudkan jadual baru dengan struktur yang sama. Masukkan data dari jadual asal ke dalam jadual baru. Tetapkan kekangan utama asing yang sama (jika jadual asal mempunyai satu). Buat indeks yang sama. Buat pencetus yang sama (jika jadual asal mempunyai satu). Buat prosedur atau fungsi yang disimpan yang sama (jika jadual asal digunakan).

Cara Melihat MySQL Cara Melihat MySQL Apr 08, 2025 pm 07:21 PM

Lihat pangkalan data MySQL dengan arahan berikut: Sambungkan ke pelayan: MySQL -U Pengguna Nama -P Kata Laluan Run Show pangkalan data; Perintah untuk mendapatkan semua pangkalan data yang sedia ada Pilih pangkalan data: Gunakan nama pangkalan data; Lihat Jadual: Tunjukkan Jadual; Lihat Struktur Jadual: Huraikan nama jadual; Lihat data: pilih * dari nama jadual;

Bagaimana untuk melihat kata laluan pangkalan data di Navicat untuk MariaDB? Bagaimana untuk melihat kata laluan pangkalan data di Navicat untuk MariaDB? Apr 08, 2025 pm 09:18 PM

Navicat untuk MariaDB tidak dapat melihat kata laluan pangkalan data secara langsung kerana kata laluan disimpan dalam bentuk yang disulitkan. Untuk memastikan keselamatan pangkalan data, terdapat tiga cara untuk menetapkan semula kata laluan anda: Tetapkan semula kata laluan anda melalui Navicat dan tetapkan kata laluan yang kompleks. Lihat fail konfigurasi (tidak disyorkan, risiko tinggi). Gunakan alat baris perintah sistem (tidak disyorkan, anda perlu mahir dalam alat baris arahan).

Cara menyalin dan tampal mysql Cara menyalin dan tampal mysql Apr 08, 2025 pm 07:18 PM

Salin dan tampal di MySQL termasuk langkah -langkah berikut: Pilih data, salin dengan Ctrl C (Windows) atau Cmd C (Mac); Klik kanan di lokasi sasaran, pilih Paste atau gunakan Ctrl V (Windows) atau CMD V (MAC); Data yang disalin dimasukkan ke dalam lokasi sasaran, atau menggantikan data sedia ada (bergantung kepada sama ada data sudah ada di lokasi sasaran).

Cara Melaksanakan SQL di Navicat Cara Melaksanakan SQL di Navicat Apr 08, 2025 pm 11:42 PM

Langkah -langkah untuk melaksanakan SQL di Navicat: Sambungkan ke pangkalan data. Buat tetingkap editor SQL. Tulis pertanyaan SQL atau skrip. Klik butang Run untuk melaksanakan pertanyaan atau skrip. Lihat hasilnya (jika pertanyaan dilaksanakan).

See all articles