This article shows how to install, configure, and run JDBCMK in meshIQ 12.1.
JDBCMK is used to create, upgrade, and manage database objects across meshIQ platform components, including Core, Manage, Scheduler, Data Service, and Track.
What Changed in 12.1
From core, jdbcmk moved to a separate package. Install it on one of the servers that can access the required databases. If Pinot objects are required, ensure access to the Pinot REST API and Kafka brokers.
From 12.1, jdbcmk supports all products:
Core (Permits)
Scripts for permits tables moved from WGS (11.3 and earlier):
{meshiq_platform}/sql-scripts/nsqjdbcmk/permitsv3_*.sql→{meshiq_platform}/sql-scripts/core/core-permits-sqls/core-permits_*.sql
Manage (WGS and Manage)
Renamed and moved SQL scripts compared to 11.3 and lower releases:
- WGS:
{meshiq_platform}/sql-scripts/nsqjdbcmk/apwmq_*.sql→{meshiq_platform}/sql-scripts/manage/wgs-sqls/wgs_*.sql
- Manage:
{meshiq_platform}/sql-scripts/nsqjdbcmk/permitsv3_*.sql→{meshiq_platform}/sql-scripts/manage/manage-sqls/manage_*.sql
Scheduler (Core and Quartz) – Newly Added
- Core:
{meshiq_platform}/sql-scripts/scheduler/ap-sched-sqls/ap_sched_*.sql - Quartz:
{meshiq_platform}/sql-scripts/scheduler/quartz-sqls/quartz_*.sql
Data Service – Newly Added
- DB:
{meshiq_platform}/sql-scripts/ds/ds-sqls/ds_*.sql - Kafka topics for Pinot:
{meshiq_platform}/sql-scripts/ds/ds-pinot/kafka_topics.properties - Pinot:
{meshiq_platform}/sql-scripts/ds/ds-pinot/pinot_tables.propertiesschemas/,tableconfigs/
Track – Newly Added
{meshiq_platform}/sql-scripts/track/track-sqls/track_*.sql
Installation
While jdbcmk moved from core installation, install it manually using Package Manager (pkgman):
- DBUtils-Plugin (db-utils-12.1.pkg)
Main DB utils package. Contains required libraries, jdbcmk executables, product scripts, and sample property files. - DBUtilsRP-Plugin (db-utils-rp-12.1.pkg)
Resource package containing properties files. Install once to avoid overriding custom configurations.
Run JDBCMK
Commands
- Windows:
{meshiq_platform}/sql-scripts/jdbcmk.bat- Unix:
{meshiq_platform}/sql-scripts/jdbcmk.shInteractive Mode
CLI Mode
Common Options
?or-?– Usage screen0or-quit– Exit application-t– Enable tracing-d [ds]– Set SQL delimiter (default#)-f– Force execution-u– Run upgrade-c [cpf]– Custom property file-qp [qp]– Quartz table prefix-p [p]– Encrypt password
Core Commands Execution
Configuration
Before executing the commands, create or modify the following file:
{meshiq_platform}/sql-scripts/core/core.properties
The following table lists the required properties. For additional optional properties, refer to the corresponding .properties file.
| Property | Description |
| corejdbcmk.permits.data_source | JDBC datasource URL for Core permits database |
| corejdbcmk.permits.schema | Database schema name (if used) |
| corejdbcmk.permits.user | Database username |
| corejdbcmk.permits.password | Database password (recommended to encrypt) |
Interactive Menu
CLI Mapping
| Menu | Action | Command |
|---|---|---|
| 1 → 1 | Create CORE-PERMITS Database Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -core -crtcore |
| 1 → 2 | Upgrade CORE-PERMITS Database Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -core -upgcore |
| 1 → 3 | Migrate from WGS PERMITS | {meshiq_platform}/sql-scripts/jdbcmk.bat -core -migwgspmt |
Manage / WGS Commands Execution
Configuration
Before executing the commands, create or modify the following file:
{meshiq_platform}/sql-scripts/manage/manage.properties
The following table lists the required properties. For additional optional properties, refer to the corresponding .properties file.
| Property | Description |
| nsqjdbcmk.apwmq.name | Default WGS name |
| nsqjdbcmk.apwmq.data_source | JDBC datasource URL for WGS database |
| nsqjdbcmk.apwmq.schema | WGS database schema name (if used) |
| nsqjdbcmk.apwmq.user | WGS database username |
| nsqjdbcmk.apwmq.password | WGS database password (recommended to encrypt) |
| nsqjdbcmk.permits.data_source | JDBC datasource URL for Manage database |
| nsqjdbcmk.permits.schema | Manage database schema name (if used) |
| nsqjdbcmk.permits.user | Manage database username |
| nsqjdbcmk.permits.password | Manage database password (recommended to encrypt) |
Interactive Menu
CLI Mapping
| Menu | Action | Command |
|---|---|---|
| 2 → 1 | Create WGS Database Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -manage -crtdb |
| 2 → 2 | Upgrade WGS Database Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -manage -upgdb |
| 2 → 3 | Create Manage Database Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -manage -crtpmt |
| 2 → 4 | Upgrade Manage Database Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -manage -upgpmt |
| 2 → 5 | Define additional workgroups | {meshiq_platform}/sql-scripts/jdbcmk.bat -manage -addwg |
| 2 → 6 | Add default WGS records | {meshiq_platform}/sql-scripts/jdbcmk.bat -manage -adddefrec |
| 2 → 7 | Remove WGS permits database objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -manage -remwgspmt |
Scheduler Commands Execution
Configuration
Before executing the commands, create or modify the following file:
{meshiq_platform}/sql-scripts/scheduler/scheduler.properties
The following table lists the required properties. For additional optional properties, refer to the corresponding .properties file.
| Property | Description |
| schedjdbcmk.sched.data_source | JDBC datasource URL for the scheduler/quartz database |
| schedjdbcmk.sched.schema | Scheduler/quartz database schema name (if used) |
| schedjdbcmk.sched.user | Scheduler/quartz database username |
| schedjdbcmk.sched.password | Scheduler/quartz database password (recommended to encrypt) |
| schedjdbcmk.sched.quartz.prefix | Custom Quartz table prefix |
Interactive Menu
CLI Mapping
| Menu | Action | Command |
|---|---|---|
| 3 → 1 | Create AP_SCHED Database Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -scheduler -crtapsched |
| 3 → 2 | Upgrade AP_SCHED Database Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -scheduler -upgapsched |
| 3 → 3 | Initialize AP_SCHED Version Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -scheduler -initvapsched |
| 3 → 4 | Create QUARTZ Database Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -scheduler -crtquartz |
| 3 → 5 | Upgrade QUARTZ Database Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -scheduler -upgquartz |
| 3 → 6 | Initialize QUARTZ Version Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -scheduler -initvquartz |
Data Service Commands Execution
Configuration
Before executing the commands, create or modify the following file:
{meshiq_platform}/sql-scripts/ds/ds.properties
The following table lists the required properties. For additional optional properties, refer to the corresponding .properties file.
| Property | Description |
| dsjdbcmk.ds.data_source | JDBC datasource URL for data service database |
| dsjdbcmk.ds.schema | Data service database schema (if used) |
| dsjdbcmk.ds.user | Data service database username |
| dsjdbcmk.ds.password | Data service database password |
| dsjdbcmk.kafka.bootstrap_servers | Kafka bootstrap server |
| dsjdbcmk.pinot.url | Pinot REST API URL |
| dsjdbcmk.pinot.username | Pinot username |
| dsjdbcmk.pinot.password | Pinot password (recommended to encrypt) |
| dsjdbcmk.pinot.kafka_brokers | Pinot Kafka brokers (used for variable substitution in table script files) |
Interactive Menu
CLI Mapping
| Menu | Action | Command |
|---|---|---|
| 4 → 1 | Create DS SQL Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -ds-crtds |
| 4 → 2 | Upgrade DS SQL Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -ds -upgds |
| 4 → 3 | Create DS-PINOT Pinot Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -ds-crtdspinot |
| 4 → 4 | Upgrade DS-PINOT Pinot Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -ds -upgdspinot |
Customize Kafka Topics Required for Pinot Configuration
Before executing the commands, create or modify the following file. You can copy it from the sample file:
{meshiq_platform}/sql-scripts/ds/kafka_topics_customize.propertiesYou can define default configuration for all topics:
| Property | Description |
|---|---|
kafka.topic.default.partitions | Partition count |
kafka.topic.default.replicas | Replica count |
kafka.topic.default.delete.retention.ms | Kafka topic configuration for retention.ms |
To define configuration for a specific topic, use the prefix kafka.topic.{topic_name}.
For example, for pinot-alert-topic:
| Property | Description |
|---|---|
kafka.topic.pinot-alert-topic.partitions | Partition count |
kafka.topic.pinot-alert-topic.replicas | Replica count |
kafka.topic.default.delete.retention.ms | Kafka topic configuration for retention.ms |
Before executing the commands, create or modify the following file:
{meshiq_platform}/sql-scripts/ds/ds.properties| Property | Description |
|---|---|
dsjdbcmk.kafka.topic.config.customize.file | Custom topics configuration file created earlier. The file must be in the same folder as the ds.properties file. |
Track Commands Execution
Configuration
Before executing the commands, create or modify the following file:
{meshiq_platform}/sql-scripts/track/track.properties
The following table lists the required properties. For additional optional properties, refer to the corresponding .properties file.
| Property | Description |
| trackjdbcmk.track.data_source | JDBC datasource URL for track database |
| trackjdbcmk.track.schema | Track database schema (if used) |
| trackjdbcmk.track.user | Track database username |
| trackjdbcmk.track.password | Track database password (recommended to encrypt) |
Interactive Menu
CLI Mapping
| Menu | Action | Command |
|---|---|---|
| 5 → 1 | Create TRACK Database Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -track -crttrack |
| 5 → 2 | Upgrade TRACK Database Objects | {meshiq_platform}/sql-scripts/jdbcmk.bat -track -upgtrack |
Run SQL Script
Interactive Menu
CLI Mapping
| Menu | Action | Command |
|---|---|---|
| 9 | Run provided SQL script file | {meshiq_platform}/sql-scripts/jdbcmk.bat -runsql jdbc:mysql://localhost:3306/nastel_apwmq?user=root&password=root script.sql org.mariadb.jdbc.Driver |