Skip to content

Latest commit

 

History

History
69 lines (49 loc) · 2.31 KB

README.md

File metadata and controls

69 lines (49 loc) · 2.31 KB

Introduction

Cetus, originally developed from MySQL Proxy, is a high-performance, stable, and protocol-aware proxy for MySQL Group Replication.

Getting Started

1. Prerequisites for Setup

  1. cmake
  2. gcc
  3. glib2-devel (version >= 2.6.0)
  4. zlib-devel
  5. flex
  6. mysql-devel 5.6 or mysql-devel 5.7 or mariadb-devel
  7. jemalloc

2. Compiling Cetus: A Step-by-Step Guid

  1. Go to the cetus_mgr directory
  2. mkdir build/
  3. cd build/
  4. CFLAGS='-O2 -w' cmake ../ -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS="-ljemalloc" -DCMAKE_INSTALL_PREFIX=/home/user/cetus_mgr_install

3. Installation Guide

make install

4. How to Run

  1. Go to /home/user/cetus_mgr_install/conf
  2. cp proxy.conf.example proxy.conf
  3. Modify proxy.conf
  4. cp users.json.example users.json
  5. Modify users.json
  6. cd ..
  7. chmod 660 conf/proxy.conf
  8. ./bin/cetus --defaults-file=conf/proxy.conf

5. How to Modify proxy.conf

  • Set proxy-backend-addresses to the primary address of MySQL Group Replication.
  • Set proxy-read-only-backend-addresses to the secondary addresses of MySQL Group Replication.
  • Set default-username to a valid user with privileges for managing both MySQL Group Replication and MySQL.
  • Set log-file to a valid file path.
  • Adjust worker-processes to an appropriate number based on the workload.
  • Configure default-pool-size appropriately.
  • Add group_replication_group_name with the correct value.
  • Add session-causal-read=true for session causal reading with session_track_gtids=OWN_GTID in MySQL configuration.

6. How to Modify user.conf

Modify passwords as needed for both your applications and MySQL.

Note

  1. Cetus runs exclusively on Linux.
  2. Cetus cannot be compiled with MySQL 8.0 development.
  3. Cetus is compatible only with MySQL Group Replication.
  4. Cetus supports only mysql_native_password.
  5. The total number of connections to each MySQL instance is the sum of default-pool-size and worker-processes.
  6. Use SELECT help in the admin interface to view relevant SQL commands.

Bugs and Feature Requests:

If you encounter any issues with the release, I would encourage you to file a bug report. Your feedback is really critical to myself and the rest of the team as we want to make cetus better.

Copyright and License

Copyright 2024 under GPLv2.