You can save configuration settings for MySQL remoting in a config file. The file must be structured in the INI file format. Specify this file with the -f command-line option. The config file can have the following sections:
In the mysqld section, use the following properties to configure the MySQL daemon:
|port||The port number to use to listen for TCP/IP connections. The default port is 3306.|
|max-connections||The maximum number of allowed TCP/IP connections. 25 is the default.|
|session-timeout||The session timeout time in seconds. The default timeout is 20 seconds.|
|logfile||The full path of the log file.|
|verbosity||The verbosity of the log. 1 is informational. Levels up to 5 add the following subsequent details: (2) HTTP headers, (3) the HTTP body, (4) transport-level communication including SSL, and (5) interface commands and other data source communication.|
|logrotationscheme||The interval at which to truncate the logs. The options are 1 (daily in the format [MyFileName]_2016_3_21.txt), 2 (weekly in the format [MyFileName]_Week_5.txt, where 5 is the fifth week in the year), and 3 (monthly in the format [MyFileName]_2016_3_21.txt).
The default is 2.
|ssl-cert||The path to the SSL certificate.|
|ssl-subject||The subject of the SSL certificate.|
|ssl-password||The password of the SSL certificate.|
In the databases section, define keys that map the MySQL database or the SQL Server catalog to Spark SQL connection strings. Clients connect to the MySQL database or the SQL Server catalog defined here. To connect to Spark SQL, the driver uses the connection string that corresponds to this key.
[databases] SparkSQL = "Server=127.0.0.1;"
In the users section, define the usernames and passwords of the users of the server. If the acl section is not defined, all users have access to all databases.
In the mysql_vars section, define system variables for the MySQL server. The standard variables are supported. Below are several examples:
|version_comment||This value is hard-coded as CData JDBC Driver for Spark SQL (MySQL Remoting).|
|character_set_client||The character_set used in statements sent by the client.|
In the acl section, allow users to access Spark SQL databases. Databases must be defined in the databases section. Users must be defined in the users section. Use commas to separate users authorized to access the specified database.
Example Config File
Below is an example config file. The example includes all properties required to configure the server. It also shows how to configure access control for several users and Spark SQL instances.
[mysqld] port = 3306 max-connections = 25 session-timeout = 20 logfile = SparkSQLRemotingLog.txt verbosity = 2 ssl-cert = "CData.JDBC.SparkSQL.Remoting.pfx" ssl-subject = <subject> ssl-password = <password> [databases] SparkSQL = "Server=127.0.0.1;" SparkSQL_ReadOnly = "Server=127.0.0.1;ReadOnly=True" [users] root = <password> test = <password> [mysql_vars] version_comment = "CData JDBC Driver for Spark SQL (MySQL Remoting)" [acl] SparkSQL = root SparkSQL_ReadOnly = root, test
You can further restrict the allowed options by passing in options on the command line. See CLI Options for more information.