# Tutorials

- [Setting up MariaDB MaxScale](/docs/maxscale/mariadb-maxscale-tutorials/setting-up-mariadb-maxscale.md): Follow this guide to prepare your environment for MaxScale. Learn to create necessary database users configure the server and set up basic monitoring permissions.
- [Analyzing MaxCtrl Create Report Output](/docs/maxscale/mariadb-maxscale-tutorials/analyzing-maxctrl-create-report-output.md): Learn to inspect MaxScale's runtime state using the JSON report from maxctrl. Use jq to query servers services and monitors for detailed debugging and analysis.
- [Automatic Failover With MariaDB Monitor](/docs/maxscale/mariadb-maxscale-tutorials/automatic-failover-with-mariadb-monitor.md): Configure automatic failover for MariaDB replication clusters. This tutorial covers setting up the monitor to handle primary server failures and promote replicas automatically.
- [Configuring Servers](/docs/maxscale/mariadb-maxscale-tutorials/configuring-servers.md): Define your database backend servers in MaxScale. Learn to configure server objects set addresses and ports and and enable TLS encryption for secure connections.
- [Configuring the Galera Monitor](/docs/maxscale/mariadb-maxscale-tutorials/configuring-the-galera-monitor.md): Set up monitoring for Galera Clusters. Configure the galeramon module to automatically detect the primary node and manage cluster membership within MaxScale.
- [Configuring the MariaDB Monitor](/docs/maxscale/mariadb-maxscale-tutorials/configuring-the-mariadb-monitor.md): Configure the mariadbmon module to monitor primary-replica clusters. Learn to set monitoring intervals and define user credentials for health checks.
- [Connection Routing with MariaDB MaxScale](/docs/maxscale/mariadb-maxscale-tutorials/connection-routing-with-mariadb-maxscale.md): Implement simple connection-based routing. This tutorial shows how to dedicate specific ports for write and read traffic using the readconnroute router.
- [Encrypting Passwords](/docs/maxscale/mariadb-maxscale-tutorials/encrypting-passwords.md): Secure your MaxScale configuration by encrypting passwords. Learn to generate encryption keys with maxkeys and obscure credentials using the maxpasswd utility.
- [Failure-tolerant replication and failover](/docs/maxscale/mariadb-maxscale-tutorials/failure-tolerant-replication-and-failover.md): Build a resilient replication cluster. This guide explains how to combine MaxScale's failover with semi-synchronous replication to minimize data loss during crashes.
- [Filters](/docs/maxscale/mariadb-maxscale-tutorials/filters.md): Explore the power of MaxScale filters. Learn to implement query logging statement rewriting and other processing steps in your request pipeline with practical examples.
- [MaxScale Administration Tutorial](/docs/maxscale/mariadb-maxscale-tutorials/maxscale-administration-tutorial.md): Master common administrative tasks in MaxScale. Learn to start/stop services, rotate logs, manage servers with MaxCtrl, and put nodes into maintenance mode.
- [Read-Write Splitting](/docs/maxscale/mariadb-maxscale-tutorials/read-write-splitting.md): Configure the readwritesplit router for query-based load balancing. Route writes to the primary and distribute reads across replicas to optimize performance.
- [REST API Tutorial](/docs/maxscale/mariadb-maxscale-tutorials/rest-api-tutorial.md): Interact with MaxScale programmatically using the REST API. This tutorial demonstrates how to create, modify, and inspect MaxScale objects at runtime using curl.
- [Schemarouter: Simple Sharding With Two Servers](/docs/maxscale/mariadb-maxscale-tutorials/schemarouter-simple-sharding-with-two-servers.md): Implement basic database sharding using the schemarouter. Learn to distribute data across multiple servers while presenting a single logical database to clients.
- [MariaDB MaxScale Exasolrouter](/docs/maxscale/mariadb-maxscale-tutorials/mariadb-maxscale-exasolrouter.md): Learn how to configure the Exasolrouter in MariaDB MaxScale to route analytical queries to Exasol while maintaining transactional workloads in MariaDB
