mysql_adaptor(4gx)

Name
mysql_adaptor — MySQL/MariaDB connector for user metadata and authentication

Description
mysql_adaptor is a component for integrating user accounts from a MySQL/MariaDB database.

Configuration directives
The usual config file location is /etc/gromox/mysql_adaptor.cfg.

connection_num
    Number of SQL connections to keep active. Note that the SQL server may have limits in place, such as "max_connections" and "wait_timeout" (cf. `SHOW GLOBAL VARIABLES LIKE "wait_timeout"`). Automatic reconnection happens by Gromox when a query is about to be executed.
    Default: 8

enable_firsttimepw
    This flag determines whether non-LDAP users with no recorded password (empty users.password SQL column) will have the account's password set to whatever credential was passed along in the first authentication request.
    Default: no

mysql_dbname
    Default: email

mysql_host
    The hostname/IP address for contacting the SQL server.
    Default: localhost

mysql_password
    Default: (unset)

mysql_port
    The TCP port number for contacting the SQL server.
    Default: 3306

mysql_rdwr_timeout
    This sets the MYSQL_OPT_READ_TIMEOUT and MYSQL_OPT_WRITE_TIMEOUT option values on the MySQL connection.
    Default: 0 (no timeout)

mysql_tls_cert
    The path name of an optional client public key certificate file for authentication.
    Default: (empty)

mysql_tls_key
    The path name of an optional client private key file for authentication.
    Default: (empty)

mysql_username
    Default: root

scan_interval
    Default: 1 minute

schema_upgrade
    This controls what to do when a database schema update is available. Because the mysql_adaptor component is loaded by many programs across potentially multiple machines, the basic default is to do nothing.

    host:xyz
        Perform automatic schema upgrades if the program which has loaded mysql_adaptor is http(8gx) and only if http.cfg's host_id value matches xyz.

    (any other value)
        No automatic schema upgrades are performed in the process which has loaded the component. The component may be unable to process or produce certain data, e.g. if it relies on a table that has not yet been created. Generally, no restart is needed when that upgrade is finally performed, because SQL queries just start working. However, there may be some caches, e.g. in the zcore(8gx) address book that could remain empty until the refresh timer expires or a manual reload is triggered.

    Default: host:(system_hostname)

Signals
Upon receipt of SIGHUP, configuration files are re-read, but only a few select directives can be changed this way, as many parts do not implement reload.

See also
gromox(7), authmgr(4gx)