一、安裝依賴mysql
yum install cmake gcc glib2-devel flex libevent-devel mysql-devel gperftools-libs -y
二、下載源碼git
cd /root/tools && git clone https://github.com/Lede-Inc/cetus.git
三、編譯安裝github
cd cetus/ && mkdir build/ && cd build/ cmake ../ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr/local/cetus -DSIMPLE_PARSER=ON && make install
四、配置文件sql
cd /usr/local/cetus/conf/ && cp -rp proxy.conf.example proxy.conf &&cp users.json.example users.json && chmod 660 conf/proxy.conf
vim users.json數據庫
{ "users": [{ "user": "用於登陸mysql的帳戶", "client_pwd": "用於登陸mysql的密碼", "server_pwd": "用於登陸mysql的密碼" }] }
vim proxy.confjson
[cetus] # For mode-switch daemon = true # Loaded Plugins plugins=proxy,admin # Defines the number of worker processes. worker-processes=4 # Proxy Configuration, For example: MySQL master and salve host ip are both 192.0.0.1 proxy-address=10.10.1.133:3308 proxy-backend-addresses=主庫ip:prot proxy-read-only-backend-addresses=從庫ip:port,從庫ip:port # Admin Configuration admin-address=10.10.1.133:3309 admin-username=admin admin-password=admin # Backend Configuration, use test db and username created default-db=bbc default-username=center default-pool-size=100 max-resp-size=10485760 long-query-time=100 # File and Log Configuration, put log in /data and marked by proxy port, /data/cetus needs to be created manually and has rw authority for cetus os user max-open-files = 65536 pid-file = cetus6001.pid plugin-dir=lib/cetus/plugins log-file=/usr/local/cetus/logs/cetus_6001.log log-level=debug # Check salve delay disable-threads=false check-slave-delay=true slave-delay-down=5 slave-delay-recover=1 # For trouble keepalive=true verbose-shutdown=true log-backtrace-on-crash=true
5 主庫建立心跳錶vim
create database if not exists proxy_heart_beat; use proxy_heart_beat; CREATE TABLE if not exists tb_heartbeat ( p_id varchar(128) NOT NULL , p_ts timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), PRIMARY KEY (p_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
六、啓動flex
/usr/local/cetus/bin/cetus --defaults-file=/usr/local/cetus/conf/proxy.conf ;tailf logs/cetus_6001.log