Allow socket and address/port to be used with maxadmin
It's now possible to use both a Unix domain socket and host/port when connecting with MaxAdmin to MaxScale. By default MaxAdmin will attempt to use the default Unix domain socket, but if host and/or port has been specified, then an inet socket will be used. maxscaled will authenticate the connection attempt differently depending on whether a Unix domain socket is used or not. If a Unix domain socket is used, then the Linux user id will be used for the authorization, otherwise the 1.4.3 username/password handshake will be performed. adminusers has now been extended so that there is one set of functions for local users (connecting locally over a Unix socket) and one set of functions for remote users (connecting locally or remotely over an Inet socket). The local users are stored in the new .../maxscale-users and the remote users in .../passwd. That is, the old users of a 1.4 installation will work as such in 2.0. One difference is that there will be *no* default remote user. That is, remote users will always have to be added manually using a local user. The implementation is shared; the local and remote alternatives use common functions to which the hashtable and filename to be used are forwarded. The commands "[add|remove] user" behave now exactly like they did in 1.4.3, and also all existing users work out of the box. In addition there is now the commands "[enable|disable] account" using which Linux accounts can be enabled for MaxAdmin usage.
This commit is contained in:
@ -12,37 +12,18 @@ configuration file.
|
||||
|
||||
## MaxAdmin
|
||||
|
||||
The way a user of MaxAdmin is authenticated has been completely changed.
|
||||
In 2.0, MaxAdmin can only connect to MariaDB MaxScale using a domain socket, thus
|
||||
_only when run on the same host_, and authorization is based upon the UNIX
|
||||
identity. Remote access is no longer supported.
|
||||
The default way the communication between MaxAdmin and MariaDB MaxScale is
|
||||
handled has been changed from an internet socket to a Unix domain socket.
|
||||
The former alternative is still available but has been _deprecated_.
|
||||
|
||||
When 2.0 has been installed, MaxAdmin can only be used by `root` and
|
||||
other users must be added anew. Please consult
|
||||
[MaxAdmin documentation](../Reference/MaxAdmin.md) for more details.
|
||||
If no arguments are given to MaxAdmin, it will attempt to connect to
|
||||
MariaDB MaxScale using a Unix domain socket. After the upgrade you will
|
||||
need to provide at least one internet socket related flag - `-h`, `-P`,
|
||||
`-u` or `-p` - to force MaxAdmin to use the internet socket approach.
|
||||
|
||||
This change requires the _maxscaled_ protocol listener entry in the
|
||||
MaxScale configuration file to be updated; address and port information
|
||||
must be replaced with socket information. For instance, an entry like
|
||||
```
|
||||
[MaxAdmin Listener]
|
||||
type=listener
|
||||
protocol=maxscaled
|
||||
address=localhost
|
||||
port=6603
|
||||
```
|
||||
should be updated to
|
||||
```
|
||||
[MaxAdmin Listener]
|
||||
type=listener
|
||||
protocol=maxscaled
|
||||
socket=default
|
||||
```
|
||||
where `default` corresponds to `/tmp/maxadmin.sock`.
|
||||
E.g.
|
||||
|
||||
Note that if this update is *not* made, maxscaled will log a warning
|
||||
and use the default socket path. This behaviour may change in later
|
||||
releases of MaxScale.
|
||||
user@host $ maxadmin -u admin
|
||||
|
||||
## MySQL Monitor
|
||||
|
||||
|
Reference in New Issue
Block a user