Merge branch 'release-1.2' into develop
Conflicts: server/core/adminusers.c server/modules/protocol/mysql_client.c
This commit is contained in:
@ -44,33 +44,35 @@
|
||||
- [Replication Proxy with the Binlog Router Tutorial](Tutorials/Replication-Proxy-Binlog-Router-Tutorial.md)
|
||||
- [RabbitMQ Setup and MaxScale Integration Tutorial](Tutorials/RabbitMQ-Setup-And-MaxScale-Integration.md)
|
||||
- [Nagios Plugins for MaxScale Tutorial](Tutorials/Nagios-Plugins.md)
|
||||
- [Simple Schema Sharding Tutorial](Tutorials/Simple-Sharding-Tutorial.md)
|
||||
|
||||
## Routers
|
||||
|
||||
- [Read Write Split](routers/ReadWriteSplit.md)
|
||||
- [Read Connnection Router](routers/ReadConnRoute.md)
|
||||
- [Schemarouter](routers/SchemaRouter.md)
|
||||
- [Read Write Split](Routers/ReadWriteSplit.md)
|
||||
- [Read Connnection Router](Routers/ReadConnRoute.md)
|
||||
- [Schemarouter](Routers/SchemaRouter.md)
|
||||
|
||||
## Filters
|
||||
|
||||
Here are detailed documents about the filters MaxScale offers. They contain configuration guides and example use cases. Before reading these,you should have read the filter tutorial so that you know how they work and how to configure them.
|
||||
|
||||
- [Query Log All](filters/Query-Log-All-Filter.md)
|
||||
- [Regex Filter](filters/Regex-Filter.md)
|
||||
- [Tee Filter](filters/Tee-Filter.md)
|
||||
- [Top N Filter](filters/Top-N-Filter.md)
|
||||
- [Database Firewall Filter](filters/Database-Firewall-Filter.md)
|
||||
- [RabbitMQ Filter](filters/RabbitMQ-Filter.md)
|
||||
- [Query Log All](Filters/Query-Log-All-Filter.md)
|
||||
- [Regex Filter](Filters/Regex-Filter.md)
|
||||
- [Tee Filter](Filters/Tee-Filter.md)
|
||||
- [Top N Filter](Filters/Top-N-Filter.md)
|
||||
- [Database Firewall Filter](Filters/Database-Firewall-Filter.md)
|
||||
- [RabbitMQ Filter](Filters/RabbitMQ-Filter.md)
|
||||
- [Named Server Filter](Filters/Named-Server-Filter.md)
|
||||
|
||||
## Monitors
|
||||
- [MySQL Monitor](monitors/MySQL-Monitor.md)
|
||||
- [Galera Monitor](monitors/Galera-Monitor.md)
|
||||
- [Multi-Master Monitor](monitors/MM-Monitor.md)
|
||||
- [MySQL Cluster Monitor](monitors/NDB-Cluster-Monitor.md)
|
||||
- [MySQL Monitor](Monitors/MySQL-Monitor.md)
|
||||
- [Galera Monitor](Monitors/Galera-Monitor.md)
|
||||
- [Multi-Master Monitor](Monitors/MM-Monitor.md)
|
||||
- [MySQL Cluster Monitor](Monitors/NDB-Cluster-Monitor.md)
|
||||
|
||||
## Utilities
|
||||
|
||||
- [RabbitMQ Consumer Client](filters/RabbitMQ-Consumer-Client.md)
|
||||
- [RabbitMQ Consumer Client](Filters/RabbitMQ-Consumer-Client.md)
|
||||
|
||||
## Design Documents
|
||||
|
||||
|
||||
92
Filters/Named-Server-Filter.md
Normal file
92
Filters/Named-Server-Filter.md
Normal file
@ -0,0 +1,92 @@
|
||||
Named Server Filter
|
||||
|
||||
# Overview
|
||||
|
||||
The **namedserverfilter** is a filter module for MaxScale which is able to route queries to servers based on regular expression matches.
|
||||
|
||||
# Configuration
|
||||
|
||||
The configuration block for the Named Server filter requires the minimal filter options in it’s section within the maxscale.cnf file, stored in /etc/maxscale.cnf.
|
||||
|
||||
```
|
||||
[NamedServerFilter]
|
||||
type=filter
|
||||
module=namedserverfilter
|
||||
match=some string
|
||||
server=server2
|
||||
|
||||
[MyService]
|
||||
type=service
|
||||
router=readwritesplit
|
||||
servers=server1,server2
|
||||
user=myuser
|
||||
passwd=mypasswd
|
||||
filters=NamedServerFilter
|
||||
```
|
||||
|
||||
## Filter Options
|
||||
|
||||
The named server filter accepts the options ignorecase or case. These define if the pattern text should take the case of the string it is matching against into consideration or not.
|
||||
|
||||
## Filter Parameters
|
||||
|
||||
The named server filter requires two mandatory parameters to be defined.
|
||||
|
||||
### `match`
|
||||
|
||||
A parameter that can be used to match text in the SQL statement which should be replaced.
|
||||
|
||||
```
|
||||
match=TYPE[ ]*=
|
||||
```
|
||||
|
||||
If the filter option ignorecase is used all regular expressions are evaluated with the option to ignore the case of the text, therefore a match option of select will match both type, TYPE and any form of the word with upper or lowercase characters.
|
||||
|
||||
### `server`
|
||||
|
||||
This is the server where matching queries will be router. The server should be in use by the service which uses this filter.
|
||||
|
||||
```
|
||||
server=server2
|
||||
```
|
||||
|
||||
### `source`
|
||||
|
||||
The optional source parameter defines an address that is used to match against the address from which the client connection to MaxScale originates. Only sessions that originate from this address will have the match and replacement applied to them.
|
||||
|
||||
```
|
||||
source=127.0.0.1
|
||||
```
|
||||
|
||||
### `user`
|
||||
|
||||
The optional user parameter defines a user name that is used to match against the user from which the client connection to MaxScale originates. Only sessions that are connected using this username will have the match and replacement applied to them.
|
||||
|
||||
```
|
||||
user=john
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
### Example 1 - Route queries targeting a specific table to a server
|
||||
|
||||
This will route all queries matching the regular expression ` *from *users` to the server named *server2*. The filter will ignore character case in queries.
|
||||
|
||||
A query like `SELECT * FROM users` would be routed to server2 where as a query like `SELECT * FROM accounts` would be routed according to the normal rules of the router.
|
||||
|
||||
```
|
||||
[NamedServerFilter]
|
||||
type=filter
|
||||
module=namedserverfilter
|
||||
match= *from *users
|
||||
options=ignorecase
|
||||
server=server2
|
||||
|
||||
[MyService]
|
||||
type=service
|
||||
router=readwritesplit
|
||||
servers=server1,server2
|
||||
user=myuser
|
||||
passwd=mypasswd
|
||||
filters=NamedServerFilter
|
||||
```
|
||||
@ -1,4 +1,4 @@
|
||||
MaxScale Release Notes
|
||||
# MariaDB MaxScale 0.5 Alpha Release Notes
|
||||
|
||||
0.5 Alpha
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
MaxScale Release Notes
|
||||
# MariaDB MaxScale 0.6 Alpha Release Notes
|
||||
|
||||
0.6 Alpha
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
MaxScale Release Notes
|
||||
# MariaDB MaxScale 0.7 Alpha Release Notes
|
||||
|
||||
0.7 Alpha
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
MaxScale Release Notes
|
||||
# MariaDB MaxScale 1.0 Beta Release Notes
|
||||
|
||||
1.0 Beta
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
MaxScale Release Notes
|
||||
# MariaDB MaxScale 1.0.1 Beta Release Notes
|
||||
|
||||
1.0.1 Beta
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
MaxScale Release Notes
|
||||
# MariaDB MaxScale 1.0.3 Release Notes
|
||||
|
||||
1.0.3 GA
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# MaxScale Release Notes
|
||||
# MariaDB MaxScale 1.0.4 Release Notes
|
||||
|
||||
1.0.4 GA
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
MaxScale Release Notes 1.0.5 GA
|
||||
# MariaDB MaxScale 1.0.5 Release Notes
|
||||
|
||||
This document details the changes in version 1.0.5 since the release of the 1.0.4 GA of the MaxScale product.
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# MaxScale Release Notes
|
||||
# MariaDB MaxScale 1.1 Release Notes
|
||||
|
||||
## 1.1 GA
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# MaxScale Release Notes
|
||||
# MariaDB MaxScale 1.1.1 Release Notes
|
||||
|
||||
## 1.1 GA
|
||||
## 1.1.1 GA
|
||||
|
||||
This document details the changes in version 1.1.1 since the release of the 1.1 GA Release of the MaxScale product.
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# MaxScale Release Notes
|
||||
# MariaDB MaxScale 1.2 Release Notes
|
||||
|
||||
## 1.2 GA
|
||||
|
||||
|
||||
@ -100,6 +100,10 @@ disable_slave_recovery=true
|
||||
master_accept_reads=true
|
||||
```
|
||||
|
||||
### Routing hints
|
||||
|
||||
The readwritesplit router supports routing hints. For a detailed guide on hint syntax and functionality, please see [this](../Reference/Hint-Syntax.md) document.
|
||||
|
||||
## Limitations
|
||||
|
||||
In Master-Slave replication cluster also read-only queries are routed to master too in the following situations:
|
||||
@ -64,4 +64,4 @@ The schemarouter router currently has some limitations due to the nature of the
|
||||
|
||||
## Examples
|
||||
|
||||
[Here](../../Tutorials/Simple-Sharding-Tutorial.md) is a small tutorial on how to set up a sharded database.
|
||||
[Here](../Tutorials/Simple-Sharding-Tutorial.md) is a small tutorial on how to set up a sharded database.
|
||||
Reference in New Issue
Block a user