MaxScale MariaDB
This is a small guide to install MaxScale on Ubuntu. Scalable, highly available and powerful transformative database services with MariaDB MaxScale.
First step is to add the repository into your config
sudo apt-get install software-properties-common sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8167EE24 sudo add-apt-repository 'deb [arch=amd64] http://downloads.mariadb.com/software/MaxScale/maxscale/DEB trusty main'
Now you can install MaxScale
sudo apt-get update sudo apt-get install maxscale
This should look like this
# aptitude install maxscale The following NEW packages will be installed: libaio1{a} maxscale 0 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 27.8 MB of archives. After unpacking 76.8 MB will be used. Do you want to continue? [Y/n/?] Get: 1 http://downloads.mariadb.com/software/MaxScale/maxscale/DEB/ trusty/main maxscale amd64 1.0.5 [27.7 MB] Get: 2 http://archive.ubuntu.com/ubuntu/ trusty/main libaio1 amd64 0.3.109-4 [6,364 B] Fetched 27.8 MB in 2s (12.8 MB/s) Selecting previously unselected package libaio1:amd64. (Reading database ... 16780 files and directories currently installed.) Preparing to unpack .../libaio1_0.3.109-4_amd64.deb ... Unpacking libaio1:amd64 (0.3.109-4) ... Selecting previously unselected package maxscale. Preparing to unpack .../maxscale_1.0.5_amd64.deb ... Unpacking maxscale (1.0.5) ... Setting up libaio1:amd64 (0.3.109-4) ... Setting up maxscale (1.0.5) ... Processing triggers for libc-bin (2.19-0ubuntu6.5) ...
Default password for MaxScale is
skysql
Main directory
/usr/local/skysql/maxscale
Logroate script
/usr/local/skysql/maxscale/log/*.log { monthly rotate 5 missingok nocompress sharedscripts postrotate # run if maxscale is running if test -n "`ps acx|grep maxscale`"; then /usr/local/skysql/maxscale/bin/maxadmin -pskysql flush logs fi endscript }
Create a DB user for MaxScale, on your MariaDB server
create user 'maxscale'@'192.168.0.%' identified by 'setup123'; grant SELECT on mysql.user to 'maxscale'@'192.168.0.%'; grant SELECT on mysql.db to 'maxscale'@'192.168.0.%'; grant SHOW DATABASES on *.* to 'maxscale'@'192.168.0.%'; flush privileges;
Small config for MaxScale
[maxscale] threads=6 [Galera Monitor] type=monitor module=galeramon servers=amupv-db01-test,amupv-db02-test,amupv-db03-test user=maxscale passwd=setup123 monitor_interval=10000 [Read Connection Router] type=service router=readconnroute servers=amupv-db01-test,amupv-db02-test,amupv-db03-test user=maxscale passwd=setup123 router_options=slave [RW Split Router] type=service router=readwritesplit servers=amupv-db01-test,amupv-db02-test,amupv-db03-test user=maxscale passwd=setup123 [Debug Interface] type=service router=debugcli [CLI] type=service router=cli [Read Connection Listener] type=listener service=Read Connection Router protocol=MySQLClient port=4008 [RW Split Listener] type=listener service=RW Split Router protocol=MySQLClient port=3306 [Debug Listener] type=listener service=Debug Interface protocol=telnetd address=127.0.0.1 port=4442 [CLI Listener] type=listener service=CLI protocol=maxscaled address=127.0.0.1 port=6603 [amupv-db01-test] type=server address=192.168.0.1 port=3306 protocol=MySQLBackend [amupv-db02-test] type=server address=192.168.0.2 port=3306 protocol=MySQLBackend [amupv-db03-test] type=server address=192.168.0.3 port=3306 protocol=MySQLBackend
Now you can start MaxScale
service maxscale start
maxadmin
# /usr/local/skysql/maxscale/bin/maxadmin Password: MaxScale> list servers Servers. -------------------+-----------------+-------+-------------+-------------------- Server | Address | Port | Connections | Status -------------------+-----------------+-------+-------------+-------------------- amupv-db01-test | 192.168.0.1 | 3306 | 0 | Master, Synced, Running amupv-db02-test | 192.168.0.2 | 3306 | 0 | Slave, Synced, Running amupv-db03-test | 192.168.0.3 | 3306 | 0 | Slave, Synced, Running -------------------+-----------------+-------+-------------+-------------------- MaxScale> show servers Server 0x1fb8b90 (amupv-db01-test) Server: 192.168.0.1 Status: Master, Synced, Running Protocol: MySQLBackend Port: 3306 Server Version: 10.0.15-MariaDB-1~trusty-wsrep-log Node Id: 0 Master Id: -1 Repl Depth: 0 Number of connections: 0 Current no. of conns: 0 Current no. of operations: 0 Server 0x1f153b0 (amupv-db02-test) Server: 192.168.0.2 Status: Slave, Synced, Running Protocol: MySQLBackend Port: 3306 Server Version: 10.0.15-MariaDB-1~trusty-wsrep-log Node Id: 2 Master Id: -1 Repl Depth: 0 Number of connections: 0 Current no. of conns: 0 Current no. of operations: 0 Server 0x1f152a0 (amupv-db03-test) Server: 192.168.0.3 Status: Slave, Synced, Running Protocol: MySQLBackend Port: 3306 Server Version: 10.0.15-MariaDB-1~trusty-wsrep-log Node Id: 1 Master Id: -1 Repl Depth: 0 Number of connections: 0 Current no. of conns: 0 Current no. of operations: 0
Links:
https://mariadb.com/portal_file/60898
https://mariadb.com/products/mariadb-maxscale