# Tutorials

- [Setting up MariaDB MaxScale](https://mariadb.com/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](https://mariadb.com/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](https://mariadb.com/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](https://mariadb.com/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](https://mariadb.com/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](https://mariadb.com/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](https://mariadb.com/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](https://mariadb.com/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](https://mariadb.com/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](https://mariadb.com/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](https://mariadb.com/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](https://mariadb.com/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](https://mariadb.com/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](https://mariadb.com/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](https://mariadb.com/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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mariadb.com/docs/maxscale/mariadb-maxscale-tutorials.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
