diff --git a/backend/config/.env.node-01 b/backend/config/.env.node-01 index 99ea9fe..8e59790 100644 --- a/backend/config/.env.node-01 +++ b/backend/config/.env.node-01 @@ -53,9 +53,16 @@ ROCKETMQ_PORT=9876 # Java配置 JAVA_OPTS=-Xms256m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m +# 应用安全配置 +USER_JWT_SECRET=replace-with-user-jwt-secret +ADMIN_JWT_SECRET=replace-with-admin-jwt-secret +SERVICE_AUTH_TOKEN=replace-with-service-auth-token +ADMIN_INIT_PASSWORD=replace-with-admin-init-password +JWT_EXPIRATION=86400 + # Grafana配置 GRAFANA_ADMIN_USER=admin -GRAFANA_ADMIN_PASSWORD=change-this-grafana-password +GRAFANA_ADMIN_PASSWORD=replace-with-grafana-password # 本节点部署的服务 DEPLOY_SERVICES=mysql,redis,redis-sentinel,nacos,rmqnamesrv,minio,sentinel,video-gateway,video-auth,video-user,video-content,video-comment,video-recommend,video-admin,nginx diff --git a/backend/config/.env.node-02 b/backend/config/.env.node-02 index 5a6d936..09573f2 100644 --- a/backend/config/.env.node-02 +++ b/backend/config/.env.node-02 @@ -54,5 +54,12 @@ BROKER_NAME=broker-a # Java配置 JAVA_OPTS=-Xms256m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m +# 应用安全配置 +USER_JWT_SECRET=replace-with-user-jwt-secret +ADMIN_JWT_SECRET=replace-with-admin-jwt-secret +SERVICE_AUTH_TOKEN=replace-with-service-auth-token +ADMIN_INIT_PASSWORD=replace-with-admin-init-password +JWT_EXPIRATION=86400 + # 本节点部署的服务 DEPLOY_SERVICES=mysql,redis,redis-sentinel,nacos,rmqnamesrv,rmqbroker,minio,sentinel,video-gateway,video-auth,video-user,video-content,video-comment,video-recommend,video-admin diff --git a/backend/config/.env.node-03 b/backend/config/.env.node-03 index 434307b..c8d46bd 100644 --- a/backend/config/.env.node-03 +++ b/backend/config/.env.node-03 @@ -55,5 +55,12 @@ BROKER_NAME=broker-b # Java配置 JAVA_OPTS=-Xms256m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m +# 应用安全配置 +USER_JWT_SECRET=replace-with-user-jwt-secret +ADMIN_JWT_SECRET=replace-with-admin-jwt-secret +SERVICE_AUTH_TOKEN=replace-with-service-auth-token +ADMIN_INIT_PASSWORD=replace-with-admin-init-password +JWT_EXPIRATION=86400 + # 本节点部署的服务 DEPLOY_SERVICES=mysql,redis,redis-sentinel,nacos,rmqnamesrv,rmqbroker,minio,sentinel diff --git a/backend/docker-compose-node-01.yml b/backend/docker-compose-node-01.yml index e88e347..5269f0c 100644 --- a/backend/docker-compose-node-01.yml +++ b/backend/docker-compose-node-01.yml @@ -236,7 +236,7 @@ services: container_name: node-exporter restart: always ports: - - "9100:9100" + - "19100:9100" command: - --path.procfs=/host/proc - --path.sysfs=/host/sys @@ -272,6 +272,11 @@ services: - SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos - SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.101} - NACOS_SERVERS=${NACOS_SERVERS:-192.168.1.101:8848,192.168.1.102:8848,192.168.1.103:8848} + - REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024} + - REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379} + - SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN} + - USER_JWT_SECRET=${USER_JWT_SECRET} + - JWT_EXPIRATION=${JWT_EXPIRATION} - SENTINEL_DASHBOARD_HOST=${HOST_IP:-192.168.1.101} - SENTINEL_DASHBOARD_PORT=8880 - SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.101} @@ -316,6 +321,9 @@ services: - MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456} - REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024} - REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379} + - SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN} + - USER_JWT_SECRET=${USER_JWT_SECRET} + - JWT_EXPIRATION=${JWT_EXPIRATION} - SENTINEL_DASHBOARD_HOST=${HOST_IP:-192.168.1.101} - SENTINEL_DASHBOARD_PORT=8880 - SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.101} @@ -366,6 +374,12 @@ services: - REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379} - MINIO_HOST=minio - MINIO_PORT=9000 + - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY} + - MINIO_SECRET_KEY=${MINIO_SECRET_KEY} + - MINIO_BUCKET=${MINIO_BUCKET} + - SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN} + - USER_JWT_SECRET=${USER_JWT_SECRET} + - JWT_EXPIRATION=${JWT_EXPIRATION} - SENTINEL_DASHBOARD_HOST=${HOST_IP:-192.168.1.101} - SENTINEL_DASHBOARD_PORT=8880 - SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.101} @@ -416,6 +430,9 @@ services: - MINIO_ACCESS_KEY=minioadmin - MINIO_SECRET_KEY=minioadmin123 - MINIO_BUCKET=video-platform + - SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN} + - USER_JWT_SECRET=${USER_JWT_SECRET} + - JWT_EXPIRATION=${JWT_EXPIRATION} - SENTINEL_DASHBOARD_HOST=${HOST_IP:-192.168.1.101} - SENTINEL_DASHBOARD_PORT=8880 - SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.101} @@ -463,6 +480,9 @@ services: - MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456} - REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024} - REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379} + - SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN} + - USER_JWT_SECRET=${USER_JWT_SECRET} + - JWT_EXPIRATION=${JWT_EXPIRATION} - SENTINEL_DASHBOARD_HOST=${HOST_IP:-192.168.1.101} - SENTINEL_DASHBOARD_PORT=8880 - SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.101} @@ -506,6 +526,9 @@ services: - MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456} - REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024} - REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379} + - SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN} + - USER_JWT_SECRET=${USER_JWT_SECRET} + - JWT_EXPIRATION=${JWT_EXPIRATION} - SENTINEL_DASHBOARD_HOST=${HOST_IP:-192.168.1.101} - SENTINEL_DASHBOARD_PORT=8880 - SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.101} @@ -549,6 +572,10 @@ services: - MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456} - REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024} - REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379} + - SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN} + - ADMIN_JWT_SECRET=${ADMIN_JWT_SECRET} + - ADMIN_INIT_PASSWORD=${ADMIN_INIT_PASSWORD} + - JWT_EXPIRATION=${JWT_EXPIRATION} - SENTINEL_DASHBOARD_HOST=${HOST_IP:-192.168.1.101} - SENTINEL_DASHBOARD_PORT=8880 - SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.101} diff --git a/backend/docker-compose-node-02.yml b/backend/docker-compose-node-02.yml index 2b5e6a3..f7472dc 100644 --- a/backend/docker-compose-node-02.yml +++ b/backend/docker-compose-node-02.yml @@ -15,9 +15,6 @@ services: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root123456} - MYSQL_DATABASE: ${MYSQL_DATABASE:-video_platform} - MYSQL_USER: ${MYSQL_USER:-video} - MYSQL_PASSWORD: ${MYSQL_PASSWORD:-video123} volumes: - mysql_data:/var/lib/mysql # - ./sql:/docker-entrypoint-initdb.d # 从节点不需要初始化脚本,数据从主库同步 @@ -86,7 +83,7 @@ services: - NACOS_SERVER_IP=${HOST_IP:-192.168.1.102} - NACOS_APPLICATION_PORT=8848 - SPRING_DATASOURCE_PLATFORM=mysql - - MYSQL_SERVICE_HOST=mysql + - MYSQL_SERVICE_HOST=192.168.1.101 - MYSQL_SERVICE_PORT=3306 - MYSQL_SERVICE_DB_NAME=nacos_config - MYSQL_SERVICE_USER=root @@ -210,7 +207,7 @@ services: container_name: node-exporter restart: always ports: - - "9100:9100" + - "19100:9100" command: - --path.procfs=/host/proc - --path.sysfs=/host/sys @@ -245,7 +242,12 @@ services: - SPRING_CLOUD_NACOS_CONFIG_USERNAME=nacos - SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos - SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.102} + - REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024} + - REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379} - NACOS_SERVERS=${NACOS_SERVERS:-192.168.1.101:8848,192.168.1.102:8848,192.168.1.103:8848} + - SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN} + - USER_JWT_SECRET=${USER_JWT_SECRET} + - JWT_EXPIRATION=${JWT_EXPIRATION} - SENTINEL_DASHBOARD_HOST=192.168.1.101 - SENTINEL_DASHBOARD_PORT=8880 - SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102} @@ -278,12 +280,15 @@ services: - SPRING_CLOUD_NACOS_CONFIG_USERNAME=nacos - SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos - SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.102} - - MYSQL_HOST=mysql + - MYSQL_HOST=192.168.1.101 - MYSQL_PORT=3306 - MYSQL_USERNAME=root - MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456} - REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024} - REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379} + - SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN} + - USER_JWT_SECRET=${USER_JWT_SECRET} + - JWT_EXPIRATION=${JWT_EXPIRATION} - SENTINEL_DASHBOARD_HOST=192.168.1.101 - SENTINEL_DASHBOARD_PORT=8880 - SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102} @@ -320,12 +325,18 @@ services: - SPRING_CLOUD_NACOS_CONFIG_USERNAME=nacos - SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos - SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.102} - - MYSQL_HOST=mysql + - MYSQL_HOST=192.168.1.101 - MYSQL_PORT=3306 - MYSQL_USERNAME=root - MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456} - REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024} - REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379} + - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY} + - MINIO_SECRET_KEY=${MINIO_SECRET_KEY} + - MINIO_BUCKET=${MINIO_BUCKET} + - SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN} + - USER_JWT_SECRET=${USER_JWT_SECRET} + - JWT_EXPIRATION=${JWT_EXPIRATION} - SENTINEL_DASHBOARD_HOST=192.168.1.101 - SENTINEL_DASHBOARD_PORT=8880 - SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102} @@ -362,7 +373,7 @@ services: - SPRING_CLOUD_NACOS_CONFIG_USERNAME=nacos - SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos - SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.102} - - MYSQL_HOST=mysql + - MYSQL_HOST=192.168.1.101 - MYSQL_PORT=3306 - MYSQL_USERNAME=root - MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456} @@ -375,6 +386,9 @@ services: - MINIO_ACCESS_KEY=minioadmin - MINIO_SECRET_KEY=minioadmin123 - MINIO_BUCKET=video-platform + - SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN} + - USER_JWT_SECRET=${USER_JWT_SECRET} + - JWT_EXPIRATION=${JWT_EXPIRATION} - SENTINEL_DASHBOARD_HOST=192.168.1.101 - SENTINEL_DASHBOARD_PORT=8880 - SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102} @@ -415,12 +429,15 @@ services: - SPRING_CLOUD_NACOS_CONFIG_USERNAME=nacos - SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos - SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.102} - - MYSQL_HOST=mysql + - MYSQL_HOST=192.168.1.101 - MYSQL_PORT=3306 - MYSQL_USERNAME=root - MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456} - REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024} - REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379} + - SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN} + - USER_JWT_SECRET=${USER_JWT_SECRET} + - JWT_EXPIRATION=${JWT_EXPIRATION} - SENTINEL_DASHBOARD_HOST=192.168.1.101 - SENTINEL_DASHBOARD_PORT=8880 - SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102} @@ -457,12 +474,15 @@ services: - SPRING_CLOUD_NACOS_CONFIG_USERNAME=nacos - SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos - SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.102} - - MYSQL_HOST=mysql + - MYSQL_HOST=192.168.1.101 - MYSQL_PORT=3306 - MYSQL_USERNAME=root - MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456} - REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024} - REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379} + - SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN} + - USER_JWT_SECRET=${USER_JWT_SECRET} + - JWT_EXPIRATION=${JWT_EXPIRATION} - SENTINEL_DASHBOARD_HOST=192.168.1.101 - SENTINEL_DASHBOARD_PORT=8880 - SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102} @@ -499,12 +519,16 @@ services: - SPRING_CLOUD_NACOS_CONFIG_USERNAME=nacos - SPRING_CLOUD_NACOS_CONFIG_PASSWORD=nacos - SPRING_CLOUD_NACOS_DISCOVERY_IP=${HOST_IP:-192.168.1.102} - - MYSQL_HOST=mysql + - MYSQL_HOST=192.168.1.101 - MYSQL_PORT=3306 - MYSQL_USERNAME=root - MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456} - REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024} - REDIS_SENTINEL_NODES=${REDIS_SENTINEL_NODES:-192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379} + - SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN} + - ADMIN_JWT_SECRET=${ADMIN_JWT_SECRET} + - ADMIN_INIT_PASSWORD=${ADMIN_INIT_PASSWORD} + - JWT_EXPIRATION=${JWT_EXPIRATION} - SENTINEL_DASHBOARD_HOST=192.168.1.101 - SENTINEL_DASHBOARD_PORT=8880 - SPRING_CLOUD_SENTINEL_TRANSPORT_CLIENT_IP=${HOST_IP:-192.168.1.102} diff --git a/backend/docker-compose-node-03.yml b/backend/docker-compose-node-03.yml index f17dc7c..269c0b3 100644 --- a/backend/docker-compose-node-03.yml +++ b/backend/docker-compose-node-03.yml @@ -16,9 +16,6 @@ services: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root123456} - MYSQL_DATABASE: ${MYSQL_DATABASE:-video_platform} - MYSQL_USER: ${MYSQL_USER:-video} - MYSQL_PASSWORD: ${MYSQL_PASSWORD:-video123} volumes: - mysql_data:/var/lib/mysql # - ./sql:/docker-entrypoint-initdb.d # 从节点不需要初始化脚本,数据从主库同步 @@ -87,7 +84,7 @@ services: - NACOS_SERVER_IP=${HOST_IP:-192.168.1.103} - NACOS_APPLICATION_PORT=8848 - SPRING_DATASOURCE_PLATFORM=mysql - - MYSQL_SERVICE_HOST=mysql + - MYSQL_SERVICE_HOST=192.168.1.101 - MYSQL_SERVICE_PORT=3306 - MYSQL_SERVICE_DB_NAME=nacos_config - MYSQL_SERVICE_USER=root @@ -211,7 +208,7 @@ services: container_name: node-exporter restart: always ports: - - "9100:9100" + - "19100:9100" command: - --path.procfs=/host/proc - --path.sysfs=/host/sys diff --git a/backend/monitoring/prometheus/prometheus.ha.yml b/backend/monitoring/prometheus/prometheus.ha.yml index 391c791..ce3b5ae 100644 --- a/backend/monitoring/prometheus/prometheus.ha.yml +++ b/backend/monitoring/prometheus/prometheus.ha.yml @@ -185,7 +185,7 @@ scrape_configs: - job_name: node-01-node-exporter static_configs: - targets: - - 192.168.1.101:9100 + - 192.168.1.101:19100 labels: application: node node: node-01 @@ -193,7 +193,7 @@ scrape_configs: - job_name: node-02-node-exporter static_configs: - targets: - - 192.168.1.102:9100 + - 192.168.1.102:19100 labels: application: node node: node-02 @@ -201,7 +201,7 @@ scrape_configs: - job_name: node-03-node-exporter static_configs: - targets: - - 192.168.1.103:9100 + - 192.168.1.103:19100 labels: application: node node: node-03 diff --git a/backend/sql/nacos-config-init.sql b/backend/sql/nacos-config-init.sql index 9d1d55f..05dd09b 100644 --- a/backend/sql/nacos-config-init.sql +++ b/backend/sql/nacos-config-init.sql @@ -145,7 +145,7 @@ spring: scg: fallback: mode: response - response-body: ''{"code":500,"message":"服务不可用,请稍后再试"}'' + response-body: '{"code":500,"message":"服务不可用,请稍后再试"}' gateway: ignore: @@ -185,7 +185,7 @@ spring: datasource: url: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/video_auth?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true username: root - password: ${MYSQL_ROOT_PASSWORD} + password: ${MYSQL_PASSWORD:${MYSQL_ROOT_PASSWORD}} data: redis: database: 0 @@ -215,7 +215,7 @@ spring: datasource: url: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/video_user?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true username: root - password: ${MYSQL_ROOT_PASSWORD} + password: ${MYSQL_PASSWORD:${MYSQL_ROOT_PASSWORD}} data: redis: database: 1 @@ -257,7 +257,7 @@ spring: datasource: url: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/video_content?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true username: root - password: ${MYSQL_ROOT_PASSWORD} + password: ${MYSQL_PASSWORD:${MYSQL_ROOT_PASSWORD}} data: redis: database: 2 @@ -320,7 +320,7 @@ spring: datasource: url: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/video_comment?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true username: root - password: ${MYSQL_ROOT_PASSWORD} + password: ${MYSQL_PASSWORD:${MYSQL_ROOT_PASSWORD}} data: redis: database: 3 @@ -366,7 +366,7 @@ spring: datasource: url: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/video_recommend?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true username: root - password: ${MYSQL_ROOT_PASSWORD} + password: ${MYSQL_PASSWORD:${MYSQL_ROOT_PASSWORD}} data: redis: database: 4 @@ -428,7 +428,7 @@ spring: datasource: url: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/video_admin?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true username: root - password: ${MYSQL_ROOT_PASSWORD} + password: ${MYSQL_PASSWORD:${MYSQL_ROOT_PASSWORD}} data: redis: database: 5 @@ -469,3 +469,12 @@ operation-log: app: init: admin-password: ${ADMIN_INIT_PASSWORD}', '', '', 'nacos', ''); + +-- ============================================ +-- 修正 Nacos 2.x 读取所需的元数据 +-- ============================================ +UPDATE config_info +SET md5 = MD5(content), + type = 'yaml' +WHERE data_id LIKE '%.yaml' + AND (md5 IS NULL OR md5 = '' OR type IS NULL OR type = '');