如何使用Deployment Manager在google-cloud-platform中使用用户名和密码创建mysql数据库?

时间:2018-07-03 10:51:12

标签: google-cloud-platform google-deployment-manager

我需要在下面添加数据库,root或user,password:

- name: deployed-database-instance
  type: sqladmin.v1beta4.instance
  properties:
    backendType: SECOND_GEN
    databaseVersion: MYSQL_5_7
    settings:
      tier: db-f1-micro

2 个答案:

答案 0 :(得分:0)

我相信此example中的github repo,将是开始测试的好地方。通过测试,我能够创建实例,数据库和用户。请参阅下面提供的示例的修改后的版本,主要是删除故障转移副本并修改了删除用户块以插入而不是删除:

{% set deployment_name = env['deployment']  %}
{% set instance_name = deployment_name + '-instance'  %}
{% set database_name = deployment_name + '-db'  %}

resources:
- name: {{ instance_name }}
  type: gcp-types/sqladmin-v1beta4:instances
  properties:
    region: {{ properties['region'] }}  
    settings:
      tier: {{ properties['tier'] }}
      backupConfiguration:
        binaryLogEnabled: true
        enabled: true

- name: {{ database_name }}
  type: gcp-types/sqladmin-v1beta4:databases
  properties:
    name: {{ database_name }}
    instance: $(ref.{{ instance_name }}.name)
    charset: utf8

- name: insert-user-root
  action: gcp-types/sqladmin-v1beta4:sql.users.insert
  metadata:
    runtimePolicy:
    - CREATE
    dependsOn:
    - {{ database_name }}
  properties:
    project: {{ env['project'] }}
    instance: $(ref.{{ env['deployment'] }}-instance.name)
    name: testuser
    host: "%"
    password: testpass    

所以我所做的是:

1)克隆仓库;

2)转到目录。\ examples \ v2 \ sqladmin \ jinja;

3)如上修改sqladmin.jinja文件;

4)打开gcloud命令提示符,并转到#2中的所述目录;

5)使用“ gcloud部署管理器部署创建my-database --config sqladmin.yaml”进行部署

您需要做的就是使用资源名称。

答案 1 :(得分:0)

我是用Python生成的,但我认为在jinja中是这样的:

properties:
    region: {{ properties['region'] }}  
    rootPassword: '12345'
    settings:
      tier: {{ properties['tier'] }}
      backupConfiguration:
        binaryLogEnabled: true
        enabled: true

我今天才发现这个问题,对于您的回复太晚表示抱歉。