Skip to content

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

License

GPL-2.0, Unknown licenses found

Licenses found

GPL-2.0
COPYING
Unknown
COPYING.rtf
Notifications You must be signed in to change notification settings

enhancedformysql/cetus

Repository files navigation

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.

About

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

Resources

License

GPL-2.0, Unknown licenses found

Licenses found

GPL-2.0
COPYING
Unknown
COPYING.rtf

Stars

Watchers

Forks

Packages

No packages published