如何使用部署管理器在谷歌云平台中创建带有用户和密码的mysql数据库?



我需要在下面添加数据库,根或用户,密码:

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

我相信这个 github 存储库中的这个例子将是开始测试的好地方。从我的测试中,我能够创建一个实例、数据库和一个用户。请参阅下面的修改版本,在我提供的示例中,我主要只是删除了故障转移副本并修改了删除用户块以插入而不是删除:

{% 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 deployment-manager deployments create my-database --config sqladmin.yaml"部署

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

我从 Python 生成了这个,但我认为在 jinja 中它会是:

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

我今天才发现这个,抱歉回复晚了。

最新更新