The "mysql" Module (v4)
This module depends on a third-party library (libmysqlclient) and must be manually enabled at compile time.
Once you have installed the dependency you can enable this module using the following command:
./configure --enable-extras mysql
Description
This module provides the ability for SQL modules to query a MySQL database.
Configuration
To load this module use the following <module>
tag:
<module name="mysql">
<database>
The <database>
tag defines a MySQL database to connect to. This tag can be defined as many times as required.
Name | Type | Default Value | Description |
---|---|---|---|
module | Text | None | Required! This MUST be set to "mysql" to connect to a MySQL database. |
id | Text | None | Required! The name that SQL-using modules can refer to this <database> tag using. |
host | Text | None | Required! The hostname or IP address of a MySQL server. |
port | Number | None | Required! The port on which the MySQL server is listening. |
user | Text | None | Required! The username to log into the MySQL server with. |
pass | Text | None | Required! The password to log into the MySQL server with. |
name | Text | None | Required! The name of the MySQL database to use. |
charset | Text | None | If defined then a custom character set to use with the MySQL server. |
srv | Boolean | No | If enabled then connect to MySQL by looking up the real host and port from a DNS SRV record. Requires MySQL 8.0 or newer. |
tls | Boolean | No | Whether to connect to the MySQL server using TLS (SSL). Requires MySQL 8.0 or newer. |
Example Usage
<database module="mysql"
id="opers"
host="localhost"
port="3306"
user="ircd_opers"
pass="changeme"
name="inspircd"
charset="utf8mb4"
srv="no"
tls="yes">
Special Notes
This module should be broadly compatible with MySQL forks such as MariaDB and Percona. However, you may also need to install a compatibility package and some features added to MySQL since they were forked may not work.