首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在J弹性JPS中获取或设置群集数据库用户名和密码

问如何在J弹性JPS中获取或设置群集数据库用户名和密码
EN

Stack Overflow用户
提问于 2018-12-27 14:19:00
回答 1查看 348关注 0票数 2

我正在尝试像用云脚本建立自动聚类中描述的那样设置一个J弹性集群数据库,但是我没有看到描述如何设置或检索集群用户名和密码的文档。

我确实尝试将db_user和db_pass传递到集群中,我在一些示例JPS文件中找到了名称,并将它们作为设置,但凭据仍然只是J弹性生成的。

下面是我尝试使用的JPS;它包括一个简单的Debian容器,它要求数据库凭据作为环境变量。在这种情况下,Docker容器只包含用于测试目的的MariaDB客户机,实际环境要复杂得多,在需要数据库连接的启动程序中运行脚本。

代码语言:javascript
复制
{
    "version": "1.5",
    "type": "install",
    "name": "Database test",
    "skipNodeEmails": true,
    "globals":
    {
        "MYSQL_ROOT_USERNAME": "root",
        "MYSQL_ROOT_PASSWORD": "${fn.password(20)}",
        "MYSQL_USERNAME": "username",
        "MYSQL_PASSWORD": "${fn.password(20)}",
        "MYSQL_DATABASE": "database",
        "MYSQL_HOSTNAME": "ProxySQL"
    },
    "nodes":
    [
        {
            "image": "mireiawen/debian-sql",
            "count": 1,
            "cloudlets": 8,
            "nodeGroup": "vds",
            "displayName": "SQL worker",
            "env":
            {
                "MYSQL_ROOT_USERNAME": "${globals.MYSQL_ROOT_USERNAME}",
                "MYSQL_ROOT_PASSWORD": "${globals.MYSQL_ROOT_PASSWORD}",
                "MYSQL_USERNAME": "${globals.MYSQL_USERNAME}",
                "MYSQL_PASSWORD": "${globals.MYSQL_PASSWORD}",
                "MYSQL_DATABASE": "${globals.MYSQL_DATABASE}",
                "MYSQL_HOSTNAME": "${globals.MYSQL_HOSTNAME}"
            }
        },
        {
            "nodeType": "mariadb-dockerized",
            "nodeGroup": "sqldb",
            "count": "2",
            "cloudlets": 16,
            "cluster":
            {
                "scheme": "master"
            }
        }
    ]
}

这个JPS似乎与包含的MariaDB主主集群一起正确地启动了ProxySQL,我只是缺乏关于如何向数据库集群提供数据库凭据的文档,或者如何检索生成的数据库凭证,以作为JPS中的变量将它们发送到容器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-04 09:59:10

该机制已经得到改进,因此现在可以使用环境变量或群集设置将自定义凭据传递给集群:

代码语言:javascript
复制
type: install
name: env. variables

nodes: 
  nodeType: mariadb-dockerized
  nodeGroup: sqldb
  count: 2
  cloudlets: 8
  env:
    DB_USER: customuser
    DB_PASS: custompass
  cluster:
    scheme: master

或

代码语言:javascript
复制
type: install
name: cluster settings

nodes: 
  nodeType: mariadb-dockerized
  nodeGroup: sqldb
  count: 2
  cloudlets: 8
  cluster:
    scheme: master
    db_user: customuser
    db_pass: custompass
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53946511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档