MySQL
This module is used to make the connection between Yate and a MySQL database.
When using this module for storing CDRs, also read [call.cdr] section in Register.
Check if module is loaded
Note: Check if module MySQL is loaded. It is required to be loaded so that Yate can connect to database.
When Yate starts you can see a list of modules that are loaded. If MySQL does not appear, you must install the devel packages for MySQL.
Another way to check if module is loaded is from telnet, use command status check if mysqldb is in the list.
Configuration file
The file is found in directory conf.d where Yate source are.
The file must be renamed from mysqldb.conf.sample into mysqldb.conf.
This file has 2 sections:
- the general section that holds the common settings to all connections
- each section in this file describes a database connection. The section name is the account name of the connection.
There can be multiple connections to different databases.
The name written between [] will be used in other configuration files to mark the account used.
mysqldb.conf
[general] ; This section is special - holds settings common to all connections ; priority: int: Handler priority ;priority=100 ; Each other section in this file describes a database connection ;[default] ; The section name is used as the database connection name ; timeout: int: Query timeout in milliseconds - will be rounded to seconds ;timeout=10000 ; initretry: int: Interval (in seconds) to retry creating failed connections. Setting it to 0 will disable retrying. ;initretry=10 ; host: string: MySQL server to connect to, defaults to local ;host= ; port: int: Port on which the server is listening for connections ;port=0 ; database: string: Name of the database to use in queries ;database=yate ; user: string: Username to use to access the database ;user=mysql ; password: string: Password to authenticate the user to the database server ;password= ; socket: string: UNIX socket to use for local connections ;socket= ; compress: bool: Enable use of compression protocol ;compress=disable ; encoding: string: Character set encoding used to communicate with the server ; If not set or empty will use the default for your system ; This setting is not available on older MySQL client libraries ;encoding= ; poolsize: int: Number of connections to establish for this account ; If not set or empty, it will create only one connection ; Minimum number of connections is 1, maximum is 10 ;poolsize=1
Example
This is how we create a new connection to a MySQL database.
mysqldb.conf
[yatetest] database=yate user=mysql password=yate
If we need to store CDRs, we will have to use register.conf file.
In this file, we are going to set into general section the account name of the database so that Yate will know which connection to make.
register.conf
[general] account=yatetest
See also