From 0d997bbe9214ca1370d9a600da1b9aedbf86c7a4 Mon Sep 17 00:00:00 2001
From: aoshiguchen <1052045476@qq.com>
Date: Thu, 8 Jun 2023 21:58:39 +0800
Subject: [PATCH] =?UTF-8?q?=E9=80=82=E9=85=8Dmariadb?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
neutrino-proxy-server/pom.xml | 4 +
.../server/base/db/DbConfiguration.java | 29 +--
.../server/constant/DbTypeEnum.java | 4 +-
.../resources/sql/mariadb/init-structure.sql | 207 ++++++++++++++++++
.../resources/sql/mariadb/job_info.data.sql | 13 ++
.../resources/sql/mariadb/license.data.sql | 3 +
.../resources/sql/mariadb/port_group.data.sql | 3 +
.../sql/mariadb/port_mapping.data.sql | 7 +
.../resources/sql/mariadb/port_pool.data.sql | 41 ++++
.../main/resources/sql/mariadb/user.data.sql | 5 +
pom.xml | 5 +
11 files changed, 306 insertions(+), 15 deletions(-)
create mode 100644 neutrino-proxy-server/src/main/resources/sql/mariadb/init-structure.sql
create mode 100644 neutrino-proxy-server/src/main/resources/sql/mariadb/job_info.data.sql
create mode 100644 neutrino-proxy-server/src/main/resources/sql/mariadb/license.data.sql
create mode 100644 neutrino-proxy-server/src/main/resources/sql/mariadb/port_group.data.sql
create mode 100644 neutrino-proxy-server/src/main/resources/sql/mariadb/port_mapping.data.sql
create mode 100644 neutrino-proxy-server/src/main/resources/sql/mariadb/port_pool.data.sql
create mode 100644 neutrino-proxy-server/src/main/resources/sql/mariadb/user.data.sql
diff --git a/neutrino-proxy-server/pom.xml b/neutrino-proxy-server/pom.xml
index 5f93a05a..6056881b 100644
--- a/neutrino-proxy-server/pom.xml
+++ b/neutrino-proxy-server/pom.xml
@@ -51,6 +51,10 @@
mysql
mysql-connector-java
+
+ org.mariadb.jdbc
+ mariadb-java-client
+
com.zaxxer
HikariCP
diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/base/db/DbConfiguration.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/base/db/DbConfiguration.java
index 55f86cca..d30ece9b 100644
--- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/base/db/DbConfiguration.java
+++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/base/db/DbConfiguration.java
@@ -31,7 +31,6 @@ public class DbConfiguration {
dataSource.setJournalMode(SQLiteConfig.JournalMode.WAL.getValue());
return dataSource;
} else if (DbTypeEnum.MYSQL == dbTypeEnum) {
- HikariDataSource dataSource = new HikariDataSource();
String driver = "com.mysql.cj.jdbc.Driver";
try {
Class.forName(driver);
@@ -39,24 +38,26 @@ public class DbConfiguration {
// 对类名的判断,异常则说明不存在:
driver = "com.mysql.jdbc.Driver";
}
- dataSource.setDriverClassName(driver);
- dataSource.setJdbcUrl(dbConfig.getUrl());
- dataSource.setMinimumIdle(5);
- dataSource.setMaximumPoolSize(20);
- dataSource.setMaxLifetime(60000);
-// dataSource.setInitialSize(5);
-// dataSource.setMinIdle(5);
-// dataSource.setMaxActive(20);
-// dataSource.setMaxWait(60000);
-// dataSource.setPoolPreparedStatements(true);
- dataSource.setUsername(dbConfig.getUsername());
- dataSource.setPassword(dbConfig.getPassword());
- return dataSource;
+ return newHikariDataSource(dbConfig, driver);
+ } else if (DbTypeEnum.MARIADB == dbTypeEnum) {
+ return newHikariDataSource(dbConfig, "org.mariadb.jdbc.Driver");
}
return null;
}
+ private HikariDataSource newHikariDataSource(DbConfig dbConfig, String driverClass) {
+ HikariDataSource dataSource = new HikariDataSource();
+ dataSource.setDriverClassName(driverClass);
+ dataSource.setJdbcUrl(dbConfig.getUrl());
+ dataSource.setMinimumIdle(5);
+ dataSource.setMaximumPoolSize(20);
+ dataSource.setMaxLifetime(60000);
+ dataSource.setUsername(dbConfig.getUsername());
+ dataSource.setPassword(dbConfig.getPassword());
+ return dataSource;
+ }
+
@Bean
public void db1_ext(@Db("db") GlobalConfig globalConfig) {
MetaObjectHandler metaObjectHandler = new MetaObjectHandlerImpl();
diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/constant/DbTypeEnum.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/constant/DbTypeEnum.java
index f61ccdab..cef27e46 100644
--- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/constant/DbTypeEnum.java
+++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/constant/DbTypeEnum.java
@@ -38,7 +38,9 @@ import java.util.stream.Stream;
@AllArgsConstructor
public enum DbTypeEnum {
SQLITE("sqlite"),
- MYSQL("mysql");
+ MYSQL("mysql"),
+ MARIADB("mariadb"),
+ ;
private String type;
diff --git a/neutrino-proxy-server/src/main/resources/sql/mariadb/init-structure.sql b/neutrino-proxy-server/src/main/resources/sql/mariadb/init-structure.sql
new file mode 100644
index 00000000..af02f159
--- /dev/null
+++ b/neutrino-proxy-server/src/main/resources/sql/mariadb/init-structure.sql
@@ -0,0 +1,207 @@
+#############################系统管理相关表#############################
+#用户表
+CREATE TABLE IF NOT EXISTS `user` (
+ `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `name` varchar(50) NOT NULL COMMENT '用户名',
+ `login_name` varchar(50) NOT NULL COMMENT '登录名',
+ `login_password` varchar(255) NOT NULL COMMENT '登录密码',
+ `enable` int NOT NULL COMMENT '是否启用(1、启用 2、禁用)',
+ `create_time` datetime(3) NOT NULL COMMENT '创建时间',
+ `update_time` datetime(3) NOT NULL COMMENT '更新时间',
+ PRIMARY KEY (`id`),
+ KEY `I_user_login_name` (`login_name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+#用户token表
+CREATE TABLE IF NOT EXISTS `user_token` (
+ `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `token` varchar(50) NOT NULL COMMENT 'token',
+ `user_id` int NOT NULL COMMENT '用户ID',
+ `expiration_time` datetime(3) NOT NULL COMMENT '过期时间',
+ `create_time` datetime(3) NOT NULL COMMENT '创建时间',
+ `update_time` datetime(3) NOT NULL COMMENT '更新时间',
+ PRIMARY KEY (`id`),
+ KEY `I_user_token_user_id` (`user_id`),
+ KEY `I_user_token_token` (`token`),
+ KEY `I_user_token_expiration_time` (`expiration_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+#端口池
+CREATE TABLE IF NOT EXISTS `port_pool` (
+ `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `group_id` int NOT NULL DEFAULT 1 COMMENT '分组ID',
+ `port` int NOT NULL COMMENT '端口',
+ `enable` int NOT NULL COMMENT '是否启用(1、启用 2、禁用)',
+ `create_time` datetime(3) NOT NULL COMMENT '创建时间',
+ `update_time` datetime(3) NOT NULL COMMENT '更新时间',
+ PRIMARY KEY (`id`),
+ KEY `I_port_pool_port` (`port`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+#端口分组
+CREATE TABLE IF NOT EXISTS `port_group` (
+ `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `name` varchar(255) NOT NULL COMMENT '分组名称',
+ `possessor_type` int NOT NULL DEFAULT '0' COMMENT '所有者类型 (0、全局共享 1、用户所有 2License所有) ',
+ `possessor_id` int NOT NULL DEFAULT '-1' COMMENT '所有者id(当type为0时 固定为-1、当type为1时为用户id 、当type为2时为licenseid)',
+ `enable` int NOT NULL COMMENT '是否启用(1、启用 2、禁用)',
+ `create_time` datetime(3) NOT NULL COMMENT '创建时间',
+ `update_time` datetime(3) NOT NULL COMMENT '更新时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;
+
+#############################代理配置相关表#############################
+#license表
+CREATE TABLE IF NOT EXISTS `license` (
+ `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `name` varchar(50) NOT NULL COMMENT 'license名称',
+ `key` varchar(100) NOT NULL COMMENT 'license key',
+ `user_id` int NOT NULL COMMENT '用户ID',
+ `is_online` int NOT NULL COMMENT '是否在线(1、在线 2、离线)',
+ `enable` int NOT NULL COMMENT '是否启用(1、启用 2、禁用)',
+ `create_time` datetime(3) NOT NULL COMMENT '创建时间',
+ `update_time` datetime(3) NOT NULL COMMENT '更新时间',
+ PRIMARY KEY (`id`) USING BTREE,
+ KEY `I_license_key` (`key`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+#端口映射表
+CREATE TABLE IF NOT EXISTS `port_mapping` (
+ `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `license_id` int NOT NULL COMMENT 'licenseID',
+ `protocal` varchar(10) NOT NULL DEFAULT 'TCP' COMMENT '协议',
+ `subdomain` varchar(50) DEFAULT NULL COMMENT '子域名(仅HTTP时有效)',
+ `server_port` int NOT NULL COMMENT '服务端端口',
+ `client_ip` varchar(20) NOT NULL COMMENT '客户端IP',
+ `client_port` int NOT NULL COMMENT '客户端端口',
+ `is_online` int NOT NULL COMMENT '是否在线(1、在线 2、离线)',
+ `description` varchar(100) DEFAULT NULL COMMENT '描述',
+ `enable` int NOT NULL COMMENT '是否启用(1、启用 2、禁用)',
+ `create_time` datetime(3) NOT NULL COMMENT '创建时间',
+ `update_time` datetime(3) NOT NULL COMMENT '更新时间',
+ PRIMARY KEY (`id`),
+ KEY `I_port_mapping_server_port` (`server_port`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+#############################日志管理相关表#############################
+#用户登录记录表
+CREATE TABLE IF NOT EXISTS `user_login_record` (
+ `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `user_id` int NOT NULL COMMENT '用户ID',
+ `ip` varchar(50) NOT NULL COMMENT 'IP',
+ `token` varchar(100) NOT NULL COMMENT 'token',
+ `type` int NOT NULL COMMENT '类型(1、登录 2、登出)',
+ `create_time` datetime(3) NOT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+#客户端连接记录表
+CREATE TABLE IF NOT EXISTS `client_connect_record` (
+ `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `ip` varchar(50) NOT NULL COMMENT 'IP',
+ `license_id` int NOT NULL COMMENT 'licenseId',
+ `type` int NOT NULL COMMENT '类型(1、连接 2、断开连接)',
+ `msg` varchar(512) DEFAULT NULL COMMENT '消息',
+ `code` int NOT NULL COMMENT '结果 (1、成功 2、失败)',
+ `err` text DEFAULT NULL COMMENT '异常信息',
+ `create_time` datetime(3) NOT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+#############################调度管理相关表#############################
+#触发器信息表
+CREATE TABLE IF NOT EXISTS `job_info` (
+ `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `desc` varchar(255) NOT NULL COMMENT '描述',
+ `handler` varchar(255) NOT NULL COMMENT '处理器',
+ `cron` varchar(128) NOT NULL COMMENT 'cron',
+ `param` varchar(512) DEFAULT NULL COMMENT '参数',
+ `alarm_email` varchar(255) DEFAULT NULL COMMENT '报警邮箱',
+ `alarm_ding` varchar(255) DEFAULT NULL COMMENT '报警钉钉配置',
+ `enable` int NOT NULL COMMENT '是否启用(1、启用 2、禁用)',
+ `create_time` datetime(3) NOT NULL COMMENT '创建时间',
+ `update_time` datetime(3) NOT NULL COMMENT '更新时间',
+ PRIMARY KEY (`id`),
+ KEY `I_job_info_handler` (`handler`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+#触发器日志表
+CREATE TABLE IF NOT EXISTS `job_log` (
+ `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `job_id` int NOT NULL COMMENT 'JobId',
+ `handler` varchar(255) NOT NULL COMMENT '处理器',
+ `param` varchar(512) DEFAULT NULL COMMENT '参数',
+ `code` int NOT NULL COMMENT '结果(1、成功 2、失败)',
+ `msg` text COMMENT '消息',
+ `alarm_status` int NOT NULL COMMENT '报警状态(1、未报警 2、已报警)',
+ `create_time` datetime(3) NOT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`) USING BTREE,
+ KEY `I_job_log_create_time` (`create_time`) USING BTREE,
+ KEY `I_job_log_code` (`code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+#############################报表管理相关表#############################
+#流量统计报表-分钟(保留24小时)
+CREATE TABLE IF NOT EXISTS `flow_report_minute` (
+ `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `user_id` int NOT NULL COMMENT '用户ID',
+ `license_id` int NOT NULL COMMENT 'licenseId',
+ `write_bytes` int NOT NULL COMMENT '写入流量',
+ `read_bytes` int NOT NULL COMMENT '读取流量',
+ `date` datetime(3) NOT NULL COMMENT '时间',
+ `date_str` varchar(20) NOT NULL COMMENT '时间 yyyy-MM-dd HH:mm',
+ `create_time` datetime(3) NOT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`),
+ KEY `I_flow_report_minute_create_time` (`create_time`) USING BTREE,
+ KEY `I_flow_report_minute_date` (`date`) USING BTREE,
+ KEY `I_flow_report_minute_user_id` (`user_id`),
+ KEY `I_flow_report_minute_license_id` (`license_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+#流量统计报表-小时(保留60天)
+CREATE TABLE IF NOT EXISTS `flow_report_hour` (
+ `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `user_id` int NOT NULL COMMENT '用户ID',
+ `license_id` int NOT NULL COMMENT 'licenseId',
+ `write_bytes` int NOT NULL COMMENT '写入流量',
+ `read_bytes` int NOT NULL COMMENT '读取流量',
+ `date` datetime(3) NOT NULL COMMENT '时间',
+ `date_str` varchar(20) NOT NULL COMMENT '时间 yyyy-MM-dd HH',
+ `create_time` datetime(3) NOT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`),
+ KEY `I_flow_report_hour_create_time` (`create_time`) USING BTREE,
+ KEY `I_flow_report_hour_date` (`date`) USING BTREE,
+ KEY `I_flow_report_hour_user_id` (`user_id`),
+ KEY `I_flow_report_hour_license_id` (`license_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+#流量统计报表-天(保留1年)
+CREATE TABLE IF NOT EXISTS `flow_report_day` (
+ `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `user_id` int NOT NULL COMMENT '用户ID',
+ `license_id` int NOT NULL COMMENT 'licenseId',
+ `write_bytes` int NOT NULL COMMENT '写入流量',
+ `read_bytes` int NOT NULL COMMENT '读取流量',
+ `date` datetime(3) NOT NULL COMMENT '时间',
+ `date_str` varchar(20) NOT NULL COMMENT '时间 yyyy-MM-dd',
+ `create_time` datetime(3) NOT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`),
+ KEY `I_flow_report_day_create_time` (`create_time`) USING BTREE,
+ KEY `I_flow_report_day_date` (`date`) USING BTREE,
+ KEY `I_flow_report_day_user_id` (`user_id`),
+ KEY `I_flow_report_day_license_id` (`license_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+#流量统计报表-月(全量保留)
+CREATE TABLE IF NOT EXISTS `flow_report_month` (
+ `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `user_id` int NOT NULL COMMENT '用户ID',
+ `license_id` int NOT NULL COMMENT 'licenseId',
+ `write_bytes` int NOT NULL COMMENT '写入流量',
+ `read_bytes` int NOT NULL COMMENT '读取流量',
+ `date` datetime(3) NOT NULL COMMENT '时间',
+ `date_str` varchar(20) NOT NULL COMMENT '时间 yyyy-MM',
+ `create_time` datetime(3) NOT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`),
+ KEY `I_flow_report_month_create_time` (`create_time`) USING BTREE,
+ KEY `I_flow_report_month_date` (`date`) USING BTREE,
+ KEY `I_flow_report_month_user_id` (`user_id`),
+ KEY `I_flow_report_month_license_id` (`license_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
\ No newline at end of file
diff --git a/neutrino-proxy-server/src/main/resources/sql/mariadb/job_info.data.sql b/neutrino-proxy-server/src/main/resources/sql/mariadb/job_info.data.sql
new file mode 100644
index 00000000..278387ba
--- /dev/null
+++ b/neutrino-proxy-server/src/main/resources/sql/mariadb/job_info.data.sql
@@ -0,0 +1,13 @@
+#job_qrtz_trigger_info
+INSERT INTO job_info(`id`, `desc`, `handler`, `cron`, `param`, `enable`, `create_time`, `update_time`) VALUES
+(1, '示例Job', 'DemoJob', '0/10 * * * * ?', '{"a":101}', 1, now(), now());
+INSERT INTO job_info(`id`, `desc`, `handler`, `cron`, `param`, `enable`, `create_time`, `update_time`) VALUES
+(2, '数据清理任务', 'DataCleanJob', '0 0 1 * * ?', '', 1, now(), now());
+INSERT INTO job_info(`id`, `desc`, `handler`, `cron`, `param`, `enable`, `create_time`, `update_time`) VALUES
+(3, '流量统计报表-分钟', 'FlowReportForMinuteJob', '0 */1 * * * ?', '', 1, now(), now());
+INSERT INTO job_info(`id`, `desc`, `handler`, `cron`, `param`, `enable`, `create_time`, `update_time`) VALUES
+(4, '流量统计报表-小时', 'FlowReportForHourJob', '0 0 */1 * * ?', '', 1, now(), now());
+INSERT INTO job_info(`id`, `desc`, `handler`, `cron`, `param`, `enable`, `create_time`, `update_time`) VALUES
+(5, '流量统计报表-天', 'FlowReportForDayJob', '0 0 1 * * ?', '', 1, now(), now());
+INSERT INTO job_info(`id`, `desc`, `handler`, `cron`, `param`, `enable`, `create_time`, `update_time`) VALUES
+(6, '流量统计报表-月', 'FlowReportForMonthJob', '0 30 1 1 * ?', '', 1, now(), now());
\ No newline at end of file
diff --git a/neutrino-proxy-server/src/main/resources/sql/mariadb/license.data.sql b/neutrino-proxy-server/src/main/resources/sql/mariadb/license.data.sql
new file mode 100644
index 00000000..f7e239a2
--- /dev/null
+++ b/neutrino-proxy-server/src/main/resources/sql/mariadb/license.data.sql
@@ -0,0 +1,3 @@
+#license
+INSERT INTO license(`id`, `name`, `key`, `user_id`, `is_online`, `enable`, `create_time`, `update_time`) VALUES
+(1, '我的mac', 'b0a907332b474b25897c4dcb31fc7eb6', 1, 2, 1, now(), now());
diff --git a/neutrino-proxy-server/src/main/resources/sql/mariadb/port_group.data.sql b/neutrino-proxy-server/src/main/resources/sql/mariadb/port_group.data.sql
new file mode 100644
index 00000000..65cdaebf
--- /dev/null
+++ b/neutrino-proxy-server/src/main/resources/sql/mariadb/port_group.data.sql
@@ -0,0 +1,3 @@
+#port_group
+INSERT INTO `port_group`(`id`,`name`,`possessor_type`,`possessor_id`,`enable`,`create_time`,`update_time`) VALUES
+(1, '全局(默认)', 0, -1, 1, now(), now());
diff --git a/neutrino-proxy-server/src/main/resources/sql/mariadb/port_mapping.data.sql b/neutrino-proxy-server/src/main/resources/sql/mariadb/port_mapping.data.sql
new file mode 100644
index 00000000..9063ecea
--- /dev/null
+++ b/neutrino-proxy-server/src/main/resources/sql/mariadb/port_mapping.data.sql
@@ -0,0 +1,7 @@
+#port_mapping
+INSERT INTO port_mapping(`id`, `license_id`, `server_port`, `protocal`, `subdomain`, `client_ip`, `client_port`, `is_online`, `enable`, `create_time`, `update_time`) VALUES
+(1, 1, 9101, 'HTTP', 'test1', '127.0.0.1', 8080, 2, 1, now(), now());
+INSERT INTO port_mapping(`id`, `license_id`, `server_port`, `protocal`, `subdomain`, `client_ip`, `client_port`, `is_online`, `enable`, `create_time`, `update_time`) VALUES
+(2, 1, 9102, 'TCP', '', '127.0.0.1', 3306, 2, 1, now(), now());
+INSERT INTO port_mapping(`id`, `license_id`, `server_port`, `protocal`, `subdomain`, `client_ip`, `client_port`, `is_online`, `enable`, `create_time`, `update_time`) VALUES
+(3, 1, 9103, 'HTTP', 'test2', '127.0.0.1', 8081, 2, 1, now(), now());
diff --git a/neutrino-proxy-server/src/main/resources/sql/mariadb/port_pool.data.sql b/neutrino-proxy-server/src/main/resources/sql/mariadb/port_pool.data.sql
new file mode 100644
index 00000000..e4288b13
--- /dev/null
+++ b/neutrino-proxy-server/src/main/resources/sql/mariadb/port_pool.data.sql
@@ -0,0 +1,41 @@
+#端口池
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(1, 1, 9101, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(2, 1, 9102, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(3, 1, 9103, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(4, 1, 9104, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(5, 1, 9105, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(6, 1, 9106, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(7, 1, 9107, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(8, 1, 9108, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(9, 1, 9109, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(10, 1, 9110, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(11, 1, 9111, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(12, 1, 9112, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(13, 1, 9113, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(14, 1, 9114, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(15, 1, 9115, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(16, 1, 9116, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(17, 1, 9117, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(18, 1, 9118, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(19, 1, 9119, 1, now(), now());
+INSERT INTO port_pool(`id`, `group_id`, `port`, `enable`, `create_time`, `update_time`) VALUES
+(20, 1, 9120, 1, now(), now());
diff --git a/neutrino-proxy-server/src/main/resources/sql/mariadb/user.data.sql b/neutrino-proxy-server/src/main/resources/sql/mariadb/user.data.sql
new file mode 100644
index 00000000..1be853ba
--- /dev/null
+++ b/neutrino-proxy-server/src/main/resources/sql/mariadb/user.data.sql
@@ -0,0 +1,5 @@
+#用户表 6613b92b77056faeb72068f184ed4c4f
+INSERT INTO `user`(`id`, `name`,`login_name`,`login_password`,`enable`,`create_time`, `update_time`) VALUES
+(1, '管理员', 'admin', 'e10adc3949ba59abbe56e057f20f883e', 1, now(), now());
+INSERT INTO `user`(`id`, `name`,`login_name`,`login_password`,`enable`,`create_time`, `update_time`) VALUES
+(2, '游客', 'visitor', 'e10adc3949ba59abbe56e057f20f883e', 1, now(), now());
diff --git a/pom.xml b/pom.xml
index 57a840a7..aa92a35b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -97,6 +97,11 @@
mysql-connector-java
5.1.49
+
+ org.mariadb.jdbc
+ mariadb-java-client
+ 2.7.4
+
com.zaxxer
HikariCP