Cetus, originally developed from MySQL Proxy, is a high-performance, stable, and protocol-aware proxy for MySQL Group Replication.
- cmake
- gcc
- glib2-devel (version >= 2.6.0)
- zlib-devel
- flex
- mysql-devel 5.6 or mysql-devel 5.7 or mariadb-devel
- jemalloc
- Go to the
cetus_mgrdirectory mkdir build/cd build/CFLAGS='-O2 -w' cmake ../ -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS="-ljemalloc" -DCMAKE_INSTALL_PREFIX=/home/user/cetus_mgr_install
make install
- Go to /home/user/cetus_mgr_install/conf
- cp proxy.conf.example proxy.conf
- Modify proxy.conf
- cp users.json.example users.json
- Modify users.json
- cd ..
- chmod 660 conf/proxy.conf
- ./bin/cetus --defaults-file=conf/proxy.conf
- Set
proxy-backend-addressesto the primary address of MySQL Group Replication. - Set
proxy-read-only-backend-addressesto the secondary addresses of MySQL Group Replication. - Set
default-usernameto a valid user with privileges for managing both MySQL Group Replication and MySQL. - Set
log-fileto a valid file path. - Adjust
worker-processesto an appropriate number based on the workload. - Configure
default-pool-sizeappropriately. - Add
group_replication_group_namewith the correct value. - Add
session-causal-read=truefor session causal reading withsession_track_gtids=OWN_GTIDin MySQL configuration.
Modify passwords as needed for both your applications and MySQL.
- Cetus runs exclusively on Linux.
- Cetus cannot be compiled with MySQL 8.0 development.
- Cetus is compatible only with MySQL Group Replication.
- Cetus supports only
mysql_native_password. - The total number of connections to each MySQL instance is the sum of
default-pool-sizeandworker-processes. - Use
SELECT helpin the admin interface to view relevant SQL commands.
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 2024 under GPLv2.