
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.
1.5 KiB
CLI
The command line interface as used by maxadmin
. The CLI router requires the use
of the maxscaled
protocol.
Configuration
Two components are required in order to run the command line interface for use with maxadmin; a service and a listener. The listener may either use a Unix domain socket or an internet socket.
The default entries required are shown below.
[CLI]
type=service
router=cli
# Unix Domain Socket
[CLI Unix Listener]
type=listener
service=CLI
protocol=maxscaled
socket=default
# Internet Socket
[CLI Inet Listener]
type=listener
service=CLI
protocol=maxscaled
address=localhost
port=6603
In the example above, two listeners have been specified; one that listens on the
default Unix domain socket and one that listens on the default port. In the latter
case, if the address=
entry is removed, connections are allowed from any machine
on your network.
In the former case, if the value of socket
is changed and in the latter case,
if the value of port
is changed, maxadmin must be invoked with the -S
and
-P
options respectively.
Note that if Unix domain sockets are used, the connection is secure, but maxadmin can only be used on the same host where MariaDB MaxScale runs. If internet sockets are used, the connection is inherently insecure but maxadmin can be used from another host than the one where MariaDB MaxScale runs.
Note that the latter approach is deprecated and will be removed in a future version of MariaDB MaxScale.