目 录

文章目录

数据库配置实例

Kiro君
2021-08-09 / 0 评论 / 1 点赞 / 140 阅读 / 1,858 字
温馨提示:
本文最后更新于 2022-02-03,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

环境准备

  • 群晖 Docker-compose
  • 数据库管理工具 Adminer
  • 数据库 PostGresMySQL
  • 路由器端口转发 | 网关端口开放

应用实例

1. 绪山真寻BotPostGres

  • Docker-compose

    services:
    
    db:
        image: postgres
        restart: always
        environment:
        POSTGRES_PASSWORD: 123456   #密码
        POSTGRES_USER: root         #用户名
        POSTGRES_HOST_AUTH_METHOD: Trust
        volums:
        /custom/mount:/var/lib/postgresql/data   #宿主机映射(挂载)路径
        ports:
            - 5432:5432               #数据库访问端口
    
    Adminer:
        image: adminer
        restart: always
        ports:
            - 8080:8080               #通过http(s)://ip:8080 web界面管理数据库
    

    ⚠️ 请手动配置,不要通过ssh一把梭

  • 进入 Adminer http://localhost:8080 添加数据库

若有 公网ip或服务器,需要开放8080端口即可远程访问 http://hostname:8080
本案采用路由器+群晖方式,远程访问 http://域名:8080 路由器需配置端口转发路由器ip:端口-->群晖ip:端口

https://www.hualigs.cn/image/61112abba1889.jpg

  • 选择合适的数据库 登陆

    示例:"bind": "postgresql://admin:******@localhost:5432/QQBot"
        "sql": {
            "bind": "",
            "sql_name": "postgresql",
            "user": "admin",         #数据库用户名
            "password": "******",    #数据库登陆密码
            "address": "localhost",  #数据库 地址 或 IP
            "port": "5432",          #数据库配置端口
            "database": "QQBot"    #登陆后新建一个空数据库命名为 QQBot
        }
    

    image

  • 路由器 5432 端口转发 或 网关 5432 端口开放 即可

2. HaloMySQL

  • Docker-compose

    # Use root/example as user/password credentials
    version: '3.1'
    
    services:
    
    db:
        image: mysql
        command: --default-authentication-plugin=mysql_native_password
        restart: always
        environment:
        MYSQL_ROOT_PASSWORD: example    #MySQL数据库root身份登陆管理密码
        bridge:
            - host
    
    adminer:
        image: adminer
        restart: always
        ports:
            - 8080:8080
    

    可使用host模式免掉复杂的端口转发设置
    ⚠️ 请手动配置,不要通过ssh一把梭

  • Adminer调用MySQL

    • 登陆Adminer http://localhost:8080
    • 调用MySQL
      系统	    MySQL
      服务器	    群晖ip     #使用host模式端口会自动识别
      用户名	    root      #默认root
      密码	    example   #自己设置的 MYSQL_ROOT_PASSWORD 密码
      
  • Halo挂载数据库目录

    • 下载application.yaml到halo宿主机运行文件夹
    • 注释 H2 database configuration.部分
    • 启用 MySQL database configuration.部分
    • 修改 datasource 下的 url 中的 ip 地址部分为容器名称并修改密码为您设定的 MySQL 密码
    spring:
    datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://群晖ip:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
        username: root
        password: example
    

    本案中使用群晖设备

1

评论区