4-node: mysql

Replaces native PostgreSQL with openHalo, an Oracle-compatible kernel by HighGo.

The mysql template is based on the full 4-node template, which replaces the native PostgreSQL kernel with openHalo, an Oracle-compatible kernel by HighGo.

Check the Kernel: openHalo for details.


Overview

  • Conf Name: mysql
  • Node Count: 4-node, pigsty/vagrant/spec/full.rb
  • Description: Replaces native PostgreSQL with openHalo, an MySQL-compatible kernel by HaloTech Team
  • OS Distro: el8, el9
  • OS Arch: x86_64, aarch64
  • Related: full

To enable: Use the -c mysql parameter during the configure process:

./configure -c mysql 

This is a 4-node template, you need to modify the IP address of the other 3 nodes after configure


Content

Source: pigsty/conf/mysql.yml

all:  children:   infra:  hosts:  10.10.10.10: { infra_seq: 1 }   etcd:  hosts:  10.10.10.10: { etcd_seq: 1 }  vars:  etcd_cluster: etcd   # openHaloDB singleton  pg-meta:  hosts:  10.10.10.10: { pg_seq: 1, pg_role: primary }  vars:  pg_cluster: pg-meta  pg_users:  - {name: dbuser_meta ,password: DBUser.Meta ,pgbouncer: true ,roles: [dbrole_admin] ,comment: pigsty admin user }  - {name: dbuser_view ,password: DBUser.Viewer ,pgbouncer: true ,roles: [dbrole_readonly] ,comment: read-only viewer for meta database }  pg_databases:  - {name: postgres, extensions: [aux_mysql]} # the mysql compatible database  - {name: meta ,baseline: cmdb.sql ,comment: pigsty meta database ,schemas: [pigsty]}  pg_hba_rules:  - {user: dbuser_view , db: all ,addr: infra ,auth: pwd ,title: 'allow grafana dashboard access cmdb from infra nodes'}  pg_vip_enabled: true  pg_vip_address: 10.10.10.2/24  pg_vip_interface: eth1   # halo 3-node ha cluster: 10.10.10.3 ---> 10.10.10.1{1,2,3}  pg-test:  hosts:  10.10.10.11: { pg_seq: 1, pg_role: primary }  # primary instance, leader of cluster  10.10.10.12: { pg_seq: 2, pg_role: replica }  # replica instance, follower of leader  10.10.10.13: { pg_seq: 3, pg_role: replica, pg_offline_query: true } # replica with offline access  vars:  pg_cluster: pg-test  # define pgsql cluster name  pg_users: [{ name: test , password: test , pgbouncer: true , roles: [ dbrole_admin ] }]  pg_databases: [{name: test}, { name: postgres, extensions: [aux_mysql] }]  pg_vip_enabled: true  pg_vip_address: 10.10.10.3/24  pg_vip_interface: eth1   vars: # global variables  version: v3.4.1  # pigsty version string  admin_ip: 10.10.10.10 # admin node ip address  region: default # upstream mirror region: default,china,europe  node_tune: oltp # node tuning specs: oltp,olap,tiny,crit  pg_conf: oltp.yml # pgsql tuning specs: {oltp,olap,tiny,crit}.yml  #docker_registry_mirrors: ["https://docker.1ms.run", "https://docker.m.daocloud.io"]  infra_portal: # domain names and upstream servers  home : { domain: h.pigsty }  grafana : { domain: g.pigsty ,endpoint: "${admin_ip}:3000" , websocket: true }  prometheus : { domain: p.pigsty ,endpoint: "${admin_ip}:9090" }  alertmanager : { domain: a.pigsty ,endpoint: "${admin_ip}:9093" }  blackbox : { endpoint: "${admin_ip}:9115" }  loki : { endpoint: "${admin_ip}:3100" }   pg_mode: mysql  # MySQL Compatible Mode by HaloDB  pg_version: 14 # The current HaloDB is compatible with PG Major Version 14  pg_packages: [ openhalodb, pgsql-common, mysql ]  # also install mysql client shell  repo_modules: node,pgsql,infra,mysql  repo_extra_packages: [ openhalodb, mysql ] # replace default postgresql kernel with openhalo packages 

Notes

openHalo is newly open-sourced, and the RPM package is currently provided by Pigsty.

Pigsty will provide support for Debian / Ubuntu in the future.





Last modified 2025-04-04: bump to v3.4.1 (98648b1)