Java项目部署文档

Linux安装jdk

默认安装到usr/lib/jvm目录下

  1. yum安装

    yum -y list java* 									# 查找全部jdk版本
    yum install -y java-1.8.0-openjdk.x86_64 			# 安装jdk
    
  2. apt安装

    apt-cache search jdk                			# 查找全部jdk版本
    apt-get install openjdk-8-jdk       			# 安装jdk
    
  3. 手动下载jar包

    官网:https://www.oracle.com/java/technologies/downloads/

    tar -zxvf jdk-8u351-linux-x64.tar.gz            # 解压安装包
    
  4. 配置环境变量

    编辑配置文件
    vim /etc/profile
    以下三种任意一种
    #java environment
    export JAVA_HOME=/home/jdk/jdk1.8.0_261
    export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
    export PATH=$PATH:${JAVA_HOME}/bin#java environment
    export JAVA_HOME=/home/jdk/jdk1.8.0_261
    export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
    export PATH=$PATH:$JAVA_HOME/bin#java environment
    export JAVA_HOME=/home/jdk/jdk1.8.0_261
    export JRE_HOME=${JAVA_HOME}/jre  
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
    export PATH=${JAVA_HOME}/bin:$PATH
    source /etc/profile                      # 重新加载配置
    java -version  							 # 查看java版本# 建一个/usr/bin/java的java的超链接。
    ln -s /home/java/jdk1.8.0_131/bin/java /usr/bin/java
    

Linux安装nginx

参考文章:https://www.bilibili.com/read/cv25678935/

nignx官网:https://nginx.p2hp.com/en/download.html

  1. 安装编译工具及库文件

    yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel pcre-develapt install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g zlib1g-dev
    
  2. apt安装

    apt install nginx  # 默认的配置文件位于 /etc/nginx/nginx.conf
    
  3. Centeros7下yum安装

    sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    yum install nginx
    
  4. 官网安装

    # 解压安装包
    tar -zxvf nginx-1.25.1.tar.gz# 生成makefile
    ./configure# 执行安装
    make && make install# 设置软链 可以在任何目录下使用nginx命令 nginx -v查看版本号
    ln -s /usr/local/nginx/sbin/nginx /usr/bin/
    
  5. 检查配置,启动

    # 检查配置
    nginx -t(检查nginx.conf配置是否正确)nginx -s reload(重新载入配置文件,通常配合-t使用,在修改了nginx.conf且检查无误之后)nginx -s stop (停止nginx服务)nginx(启动)
    

开启防火墙

firewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --reload

Linux安装Redis

reids下载:http://download.redis.io/releases

  1. 解压

    tar -zxvf  redis-6.2.6.tar.gz
    
  2. 安装编译器

    apt install g++yum install gcc-c++
    
  3. 进入文件目录安装

    make install
    
  4. 修改配置文件

    daemonize # 属性no改为yes(表明需要在后台运行)
    bind 127.0.0.1 # 这一行给注释掉,这里的bind指的是只有指定的网段才能远程访问这个redis
    protected-mode # 设置成no(默认是设置成yes的, 防止了远程访问,在redis3.2.3版本后)
    requirepass foobared # 改成自己的密码
    
  5. 使用配置文件启动

    src/redis-server ./redis.conf
    

Linux安装mysql

官网下载:https://downloads.mysql.com/archives/community/

  1. CenterOS安装

    # 添加MySQL官方存储库:
    sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm# 启用MySQL存储库:
    sudo dnf module enable mysql:8.0# 安装MySQL服务器:
    sudo dnf install -y mysql-server# 启动MySQL服务:
    sudo systemctl start mysqld# 启用MySQL开机自启:
    sudo systemctl enable mysqld# 设置 MySQL 根密码以及一些其他安全设置。
    sudo mysql_secure_installation# 检查MySQL服务状态:
    sudo systemctl status mysqld# 如果MySQL已成功启动,您应该会看到服务状态为“active”。# 使用该密码登MySQL:
    mysql -u root -p# 修改密码
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678';
    
  2. 远程访问

    # 在 MySQL 中创建允许远程访问的用户:
    CREATE USER 'root'@'%' IDENTIFIED BY '123zxc..';#授予用户适当的权限:
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;# 刷新权限:
    FLUSH PRIVILEGES;# 更新防火墙规则:
    # 例如,使用 ufw 工具
    sudo ufw allow 3306# 编辑 MySQL 配置文件:
    # 如果 MySQL 绑定到特定 IP 地址,而不是所有接口,您需要编辑 MySQL 配置文件。打开配置文件(通常是 /etc/mysql/my.cnf 或 /etc/my.cnf)并找到 bind-address 配置项。将其更改为:bind-address = 0.0.0.0# 重启 MySQL 服务:sudo systemctl restart mysqld
    
  3. Ubuntu安装

    sudo apt updatesudo apt install -y https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.debsudo apt install mysql-server
    
Ubuntu apt install安装的MySQL数据库默认安装路径如下
可执行文件: /usr/sbin/mysqld
配置文件: /etc/mysql/mysql.conf.d/mysqld.cnf
数据目录: /var/lib/mysql

Linux安装docker

参考文章:https://blog.csdn.net/MrBInsomnia/article/details/131062329

  1. yum安装

    # 卸载之前安装过的旧版本
    yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce
    
    # 安装工具
    yum install -y yum-utils \device-mapper-persistent-data \lvm2 --skip-broken
    
    # 更新本地docker镜像源:#设置镜像源
    yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#将docker-ce.repo中所有的 "download.docker.com" 替换成 "mirrors.aliyun.com/docker-ce"
    sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo#建立元数据缓存
    yum makecache fast
    
    # 安装社区版docekr
    yum install -y docker-ce# 启动docker服务
    systemctl start docker
    # 停止docker服务
    systemctl stop docker
    # 重启docker服务
    systemctl restart docker
    # 设置docker开机自启
    chkconfig docker on
    
    # 配置国内镜像仓库# 创建文件夹
    sudo mkdir -p /etc/docker
    # 在文件夹内新建一个daemon.json文件,并写入镜像配置
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {"registry-mirrors": ["https://33ylxx05.mirror.aliyuncs.com"]
    }
    EOF# 重新加载文件
    sudo systemctl daemon-reload
    # 重启docker
    sudo systemctl restart docker
    
  2. apt安装

    https://zhuanlan.zhihu.com/p/651148141?utm_id=0
    

Linux导入导出sql

psql -h 10.213.5.128 -U xkrs -d digital_agriculture -f /home/zwyuser/xkrs/public.sql;pg_dump -U username -d dbname -t tablename -f/home/sql/导出文件.sql
# 导出成csv文件
psql -U xkrs -d taifeng_cs -c "COPY (SELECT * FROM dtfw) TO '/hoem/ndrcc/your_file.csv' WITH CSV HEADER;"# 进入数据库后执行的语句
\copy (SELECT * FROM zqrz_xian_total) TO '/home/ndrcc/your_file.csv' WITH CSV HEADER;\copy (SELECT * FROM xian_jiangyu where substr(date,1,8)='20231212' ) TO '/home/ndrcc/your_file.csv' WITH CSV HEADER;\copy (SELECT * FROM zhen_jiangyu where date='2023121202' ) TO '/home/ndrcc/your_file.csv' WITH CSV HEADER;

Docker常用命令

进入容器内部

docker exec -it <容器名> /bin/bash

停止容器

docker stop <容器名>

删除容器

docker rm <容器名>

删除镜像

docker rmi <容器 id>

Docker安装Nginx

参考文章:https://blog.csdn.net/SmallCat0912/article/details/132061625

# 创建目录
mkdir -p /home/nginx/conf
mkdir html,log# 拉取Nginx镜像
docker pull nginx# 查看运行中的容器
docker ps# 将容器nginx.conf文件复制到宿主机docker cp 容器id:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
# 将容器conf.d文件夹复制到宿主机docker cp 容器id:/etc/nginx/conf.d /home/nginx/conf/conf.d
# 将容器静态文件夹html复制到宿主机docker cp 容器id:/usr/share/nginx/html/ /home/nginx# 停止容器,ce869a为容器iddocker stop 容器id
# 删除容器docker rm 容器id# 启动并挂载目录
docker run -d -p 80:80 --name nginx --privileged --restart always -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.con -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/log:/var/log/nginx nginx

Docker安装Redis

完整参考文章:https://zhuanlan.zhihu.com/p/591466778

# 拉取镜像
docker pull redis# 创建挂载目录
mkdir -p /home/redis# 启动redis容器
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /home/redis/myredis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass 123456--------------------------------------------
–restart=always 总是开机启动
–log是日志方面的
-p 6379:6379 将6379端口挂载出去
–name 给这个容器取一个名字
-v 数据卷挂载
/home/redis/myredis/myredis.conf:/etc/redis/redis.conf 
# 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
/home/redis/myredis/data:/data 这个同上-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf
–appendonly yes 开启redis 持久化
–requirepass 123456 设置密码 

Docker安装MySQL

获取镜像
# 拉取镜像
sudo docker pull mysql:5.7
启动mysql
sudo docker run --name mysql -p 3306:3306 -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_ROOT_HOST='%' --restart=always -d mysql:5.7
指定容器名:
--name mysql
映射端口: -p 宿主机端口:容器端口
挂载配置文件数据卷:(宿主机目录:容器目录)
-v /usr/local/mysql/conf:/etc/mysql/conf.d
挂载数据库数据卷:(宿主机目录:容器目录)
-v /usr/local/mysql/data:/var/lib/mysql
指定root密码: MYSQL_ROOT_PASSWORD=123456
指定任意主机登录,相当于bind address:
MYSQL_ROOT_HOST=‘%’:
跟随docker自启动:
--restart=always
后台运行: -d

Docker安装postgresSQL并启用postgis扩展

参考文章:https://blog.csdn.net/weixin_39168541/article/details/127518146

参考文章:https://www.cnblogs.com/xiaozgang/p/16813272.html

  1. 镜像
docker images #查看所有镜像
docker pull postgis #可以直接拉取postgis镜像
docker pull postgres #也可以在已有镜像上安装postgres,再启用扩展

  1. 容器
# 查看启动的容器
docker ps
-a # 查看所有容器# 创建一个 postgres 容器并启动
docker run --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres
# 启动后可以用paadmin连接测试下# 如果已创建过,启动已存在的 postgres 容器
docker start postgres
# 进入已启动的容器命令行
docker exec -it postgres bash

  1. Linux下
# 查看并切换用户
getent passwd
su postgres
# 进入数据库
psql

  1. postgres的psql命令
# 查看postgres版本验证是否正常
select version();
# 查看所有数据库
\l
# 切换数据库
\c test
# 查看所有表
\d
# 退出
\q

  1. 安装postgis插件
# 升级apt-get
sudo apt-get update
# 安装postgis,目前安装默认安装postgresql9.6对应的postgis
apt-get install postgis
# 拉取的postgres镜像版本为13,所以安装指定的版本
apt-get install postgresql-13-postgis-3 postgresql-13-postgis-3-dbgsym postgresql-13-postgis-3-scripts
# 搜索下看扩展是否安装
find /usr -name postgis.control
# 进去psql启用扩展
create extension postgis;
# 测试是否启用成功
select postgis_full_version();

Docker安装nacos

# 下载 nacos-server:v2.2.2  docker pull nacos/nacos-server:v2.2.2       # 创建 nacos的logs日志文件夹,用于挂载nacos容器的日志mkdir -p /mydata/nacos/logs
#  将服务外的的nacos配置数据移动到 /mydata/nacos/data目录,用于挂载
#  cp nacos:/usr/local/src/nacos/data /mydata/nacos/data# 修改nacos配置 application.properties (具体示例,见附件)vi /mydata/nacos/conf/application.properties       ## 创建并启动实例docker run --name nacos \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /mydata/nacos/conf/application.properties:/home/nacos/conf/application.properties \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/data:/home/nacos/data \
-d nacos/nacos-server:v2.2.2# 参数说明
-p 8848:8848                           将容器的8848端口映射到主机的8848端口
--name nacos                            将安装的容器指定名为“nacos”
--privileged=true \ 		用于Docker应用容器获取宿主机root权限(特殊权限),如:挂载目录时,需要加入此关键字
--restart=always \			Linux启动后,该docker容器自启动
-v /mydata/nacos/logs:/home/nacos/logs \     将日志文件挂载到主机
-v /mydata/nacos/data:/home/nacos/data \    将容器/home/nacos/data目录 挂载到宿主主机
-v /mydata/nacos/conf/application.properties:/home/nacos/conf/application.properties \
将宿主主机配置文件挂载到docker容器中,替代docker容器的配置文件。
-e  xx=xx    设置环境变量,有多个环境变量就写多个 -e
-d nacos/nacos-server:v2.2.2    指定容器使用哪个images后台运行# 如配置修改了,则重启docker内部的nacos容器,使新增的配置生效。docker restart nacos# 滚动查看容器日志docker logs -f -t --tail=20 nacos# 删除指定容器docker rm -f <容器id>#拷贝docker容器内nacos的配置文件到外部docker cp nacos:/home/nacos/conf/application.properties   /mydata/nacos/conf/application.properties

nacos配置文件

##### nacos 2.2.2 版本的配置文件示例 application.properties # spring
server.servlet.contextPath=${SERVER_SERVLET_CONTEXTPATH:/nacos}
server.contextPath=/nacos
server.port=${NACOS_APPLICATION_PORT:8848}
server.tomcat.accesslog.max-days=30
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
server.tomcat.accesslog.enabled=${TOMCAT_ACCESSLOG_ENABLED:false}
server.error.include-message=ALWAYS
# default current work dir
server.tomcat.basedir=file:.
#*************** Config Module Related Configurations ***************#
### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
#spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:}
spring.datasource.platform=mysql# spring.sql.init.platform=${SPRING_DATASOURCE_PLATFORM:}
spring.sql.init.platform=mysql
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
db.num=1
# db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
# db.user.0=${MYSQL_SERVICE_USER}
# db.password.0=${MYSQL_SERVICE_PASSWORD}## 这里的ip一定不能使用 127.0.0.1和localhost!!!要填数据库的公网ip,因为docker容器部署nacos,容器内部一定没有mysql!!!
## 建议修改mysql默认端口,建议创建一个 nacos账号,给这个账号授权,只能操作nacos数据库,操作略。没有的话可以暂时用root账号
db.url.0=jdbc:mysql://1xx.xxx.xxx.xxx:3308/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=#db.pool.config.connectionTestQuery=SELECT * FROM dual
### The auth system to use, currently only 'nacos' and 'ldap' is supported:
nacos.core.auth.system.type=${NACOS_AUTH_SYSTEM_TYPE:nacos}
### worked when nacos.core.auth.system.type=nacos
### The token expiration in seconds:
nacos.core.auth.plugin.nacos.token.expire.seconds=${NACOS_AUTH_TOKEN_EXPIRE_SECONDS:18000}
### The default token:
nacos.core.auth.plugin.nacos.token.secret.key=${NACOS_AUTH_TOKEN:}
### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
nacos.core.auth.caching.enabled=${NACOS_AUTH_CACHE_ENABLE:false}
nacos.core.auth.enable.userAgentAuthWhite=${NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLE:false}
nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:}
nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_VALUE:}
## spring security config
### turn off security
nacos.security.ignore.urls=${NACOS_SECURITY_IGNORE_URLS:/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**}
# metrics for elastic search
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
nacos.naming.distro.taskDispatchThreadCount=10
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true

nacos数据库sql

/** Copyright 1999-2018 Alibaba Group Holding Ltd.** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at**      http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*//******************************************/
/*   表名称 = config_info                  */
/******************************************/
CREATE TABLE `config_info` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) DEFAULT NULL,`content` longtext NOT NULL COMMENT 'content',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',`src_user` text COMMENT 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',`app_name` varchar(128) DEFAULT NULL,`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',`c_desc` varchar(256) DEFAULT NULL,`c_use` varchar(64) DEFAULT NULL,`effect` varchar(64) DEFAULT NULL,`type` varchar(64) DEFAULT NULL,`c_schema` text,`encrypted_data_key` text NOT NULL COMMENT '密钥',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';/******************************************/
/*   表名称 = config_info_aggr             */
/******************************************/
CREATE TABLE `config_info_aggr` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`datum_id` varchar(255) NOT NULL COMMENT 'datum_id',`content` longtext NOT NULL COMMENT '内容',`gmt_modified` datetime NOT NULL COMMENT '修改时间',`app_name` varchar(128) DEFAULT NULL,`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';/******************************************/
/*   表名称 = config_info_beta             */
/******************************************/
CREATE TABLE `config_info_beta` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL COMMENT 'content',`beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',`src_user` text COMMENT 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',`encrypted_data_key` text NOT NULL COMMENT '密钥',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';/******************************************/
/*   表名称 = config_info_tag              */
/******************************************/
CREATE TABLE `config_info_tag` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',`tag_id` varchar(128) NOT NULL COMMENT 'tag_id',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL COMMENT 'content',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',`src_user` text COMMENT 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';/******************************************/
/*   表名称 = config_tags_relation         */
/******************************************/
CREATE TABLE `config_tags_relation` (`id` bigint(20) NOT NULL COMMENT 'id',`tag_name` varchar(128) NOT NULL COMMENT 'tag_name',`tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',`nid` bigint(20) NOT NULL AUTO_INCREMENT,PRIMARY KEY (`nid`),UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';/******************************************/
/*   表名称 = group_capacity               */
/******************************************/
CREATE TABLE `group_capacity` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',`group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';/******************************************/
/*   表名称 = his_config_info              */
/******************************************/
CREATE TABLE `his_config_info` (`id` bigint(20) unsigned NOT NULL,`nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,`data_id` varchar(255) NOT NULL,`group_id` varchar(128) NOT NULL,`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL,`md5` varchar(32) DEFAULT NULL,`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,`src_user` text,`src_ip` varchar(50) DEFAULT NULL,`op_type` char(10) DEFAULT NULL,`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',`encrypted_data_key` text NOT NULL COMMENT '密钥',PRIMARY KEY (`nid`),KEY `idx_gmt_create` (`gmt_create`),KEY `idx_gmt_modified` (`gmt_modified`),KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';/******************************************/
/*   表名称 = tenant_capacity              */
/******************************************/
CREATE TABLE `tenant_capacity` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',`tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';CREATE TABLE `tenant_info` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`kp` varchar(128) NOT NULL COMMENT 'kp',`tenant_id` varchar(128) default '' COMMENT 'tenant_id',`tenant_name` varchar(128) default '' COMMENT 'tenant_name',`tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',`create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',`gmt_create` bigint(20) NOT NULL COMMENT '创建时间',`gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';CREATE TABLE `users` (`username` varchar(50) NOT NULL PRIMARY KEY,`password` varchar(500) NOT NULL,`enabled` boolean NOT NULL
);CREATE TABLE `roles` (`username` varchar(50) NOT NULL,`role` varchar(50) NOT NULL,UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);CREATE TABLE `permissions` (`role` varchar(50) NOT NULL,`resource` varchar(255) NOT NULL,`action` varchar(8) NOT NULL,UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/605898.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rational rose 安装和使用 教程

前言 win10和win11都可以用&#xff0c;亲测了win10 Unified Modeling Language (UML)又称统─建模语言或标准建模语言&#xff0c;是始于1997年一个OMG标准&#xff0c;它是一个支持模型化和软件系统开发的图形化语言&#xff0c;为软件开发的所有阶段提供模型化和可视化支持…

Spark---RDD算子(单值类型转换算子)

文章目录 1.RDD算子介绍2.转换算子2.1 Value类型2.1.1 map2.1.2 mapPartitions2.1.3 mapPartitionsWithIndex2.1.4 flatMap2.1.5 glom2.1.6 groupBy2.1.7 filter2.1.8 sample2.1.9 distinct2.1.10 coalesce2.1.11 repartition2.1.12 sortBy 1.RDD算子介绍 RDD算子是用于对RDD进…

15K star! 搭建个人PDF工具箱,和广告、泄密说拜拜

我相信很多人都曾经遇到过这样的麻烦&#xff1a;一大堆PDF文档摆在面前要处理&#xff0c;拆分、标页码、调顺序、加签名。手忙脚乱的在网上找了几个工具&#xff0c;但是要么需要付费&#xff0c;要么各种广告还不好用&#xff0c;更容易出现隐私泄露的问题。 今天我们推荐的…

轨迹合并 合并轨迹

搜索微信小程序 merge gpx

Leetcode 2999. Count the Number of Powerful Integers

Leetcode 2999. Count the Number of Powerful Integers 1. 解题思路2. 代码实现 题目链接&#xff1a;10034. Count the Number of Powerful Integers 1. 解题思路 这一题的话其实还是一个典型的求不大于 N N N的特殊数字个数的问题。 这道题本质上进行一下替换还是要求如…

测试电脑的公网ip

发现ip地址总是变化&#xff0c;想要了解变化规律 操作 反复关闭打开浏览器&#xff0c;查询ip地址&#xff0c;共查询了15次。出现了5种不同的地址&#xff0c;还好&#xff0c;不是无穷的。

python 各级目录文件读取

目录结构 import pytestdef test_01():# 同级文件with open(1.txt, r, encodingutf-8) as file:content file.read()print(content)def test_02():# 同级目录的下的文件with open(rupfile/2.txt, r, encodingutf-8) as file:content file.read()print(content)def test_03():…

IDEA[Debug]简单说明

目录 &#x1f95e;1.打断点 &#x1f32d;2.第一组按钮 &#x1f9c2;3.第二组按钮 &#x1f953;4.参数查看 1.打断点 1.在需要断点处打上断点&#xff0c;然后点击debug运行 2.执行debug&#xff0c;直接执行到断点处 2.第一组按钮 共有8按钮&#xff0c;从左往右依…

Invalid ToUnicode CMap in font HPDFA++MicrosoftYaHei

用pdfbox解析微信支付流水文件提示Invalid ToUnicode CMap in font遇到这个问题 Invalid ToUnicode CMap in font HPDFAMicrosoftYaHei使用最新版本的tabula即可 <dependency><groupId>technology.tabula</groupId><artifactId>tabula</artifactI…

GCC中常用的内建函数

GCC&#xff08;GNU Compiler Collection&#xff09;是一个包含多个编程语言的编译器集合&#xff0c;而内建函数通常是为了提高代码性能或者实现一些特定功能而在编译器层面提供的函数。以下是一些在GCC中常用的内建函数&#xff1a; 数学函数&#xff1a; __builtin_sin(),…

Linux实验——页面置换算法模拟

页面置换算法模拟 【实验目的】 &#xff08;1&#xff09;理解虚拟内存管理的原理和技术。 &#xff08;2&#xff09;掌握请求分页存储管理的思想。 &#xff08;3&#xff09;理解常用页面置换算法的思想。 【实验原理/实验基础知识】 存储器是计算机系统的重要资源之…

java8新特性-日期类

在JDK 8之前&#xff0c;其实有不少的API都存在着一些问题&#xff0c;功能上也并不强大&#xff0c;日期时间等相关类同样如此。所以从JDK 8开始&#xff0c;Java做了较大的改动&#xff0c;出现了很多新特性。其中&#xff0c;java.time包中了就提供了不少强大的日期和时间AP…

可怜的小猪

题目 有 buckets 桶液体&#xff0c;其中 正好有一桶 含有毒药&#xff0c;其余装的都是水。它们从外观看起来都一样。为了弄清楚哪只水桶含有毒药&#xff0c;你可以喂一些猪喝&#xff0c;通过观察猪是否会死进行判断。不幸的是&#xff0c;你只有 minutesToTest 分钟时间来…

msvcp140.dll丢失的解决方法,从两个方向解决msvcp140.dll丢失

在Windows操作系统上&#xff0c;msvcp140.dll是Visual C Redistributable for Visual Studio 2015的一部分&#xff0c;如果msvcp140.dll文件丢失&#xff0c;可能在尝试启动使用C运行时库的程序时遇到错误&#xff0c;应用程序可能也会相应的无法打开&#xff0c;那么有什么m…

「HDLBits题解」Vector1

本专栏的目的是分享可以通过HDLBits仿真的Verilog代码 以提供参考 各位可同时参考我的代码和官方题解代码 或许会有所收益 题目链接&#xff1a;Vector1 - HDLBits default_nettype none // Disable implicit nets. Reduces some types of bugs. module top_module( input…

Qt/C++摄像头采集/二维码解析/同时采集多路/图片传输/分辨率帧率可调/自动重连

一、前言 本地摄像头的采集可以有多种方式&#xff0c;一般本地摄像头会通过USB的方式连接&#xff0c;在嵌入式上可能大部分是CMOS之类的软带的接口&#xff0c;这些都统称本地摄像头&#xff0c;和网络摄像头最大区别就是一个是通过网络来通信&#xff0c;一个是直接本地通信…

浅谈顺序表基本操作

&#x1f937;‍♀️&#x1f937;‍♀️&#x1f937;‍♀️ 今天给大家带来的是数据结构——顺序表的实现(增删查改)。 清风的CSDN博客主页 &#x1f389;欢迎&#x1f44d;点赞✍评论❤️收藏 &#x1f61b;&#x1f61b;&#x1f61b;希望我的文章能对你有所帮助&#xff…

JavaWeb基础(2)- Web概述、HTTP协议、Servlet、Request与Response

JavaWeb基础&#xff08;2&#xff09;- Web概述、HTTP协议、Servlet、Request与Response 文章目录 JavaWeb基础&#xff08;2&#xff09;- Web概述、HTTP协议、Servlet、Request与Response3 Web概述3.1 Web和JavaWeb的概念3.2 JavaWeb技术栈3.2.1 B/S架构**3.2.2 静态资源**3…

不带控制器打包exe,转pdf文件时失败的原因

加了注释的两条代码后&#xff0c;控制器会显示一个docx转pdf的进度条。这个进度条需要控制器的实现&#xff0c;如果转exe不带控制器的话&#xff0c;当点击转换为pdf的按钮就会导致程序出错和闪退。 __init__.py文件的入口

Netplan介绍

1 介绍 1.1 简介 Netplan是一个抽象网络配置描述器。通过netplan命令&#xff0c;你只需用一个 YAML文件描述每个网络接口所需配置。netplan并不关系底层管理工具是NetworkManager还是networkd。 它是一个在 Linux 系统上进行网络配置的实用程序。您创建所需接口的描述并定义…