创建和访问数据库实例¶
假设您已安装数据库服务,并使用您想要使用的数据库类型和版本的镜像填充了数据存储,并且您可以创建和访问数据库实例。
本示例演示如何创建和访问 MySQL 5.7.29 数据库。
创建和访问数据库实例¶
创建实例之前
选择规格。规格定义实例的 RAM 和根卷大小。 Trove OpenStack CLI 提供了一个命令来获取支持创建 trove 实例的规格列表。
$ openstack database flavor list
注意
如果创建的是复制集群的副本实例,则不需要规格,因为它与复制主实例相同。
选择实例分配 IP 地址的 neutron 网络。您可以指定网络 ID 或子网 ID,甚至可以指定 IP 地址(必须可用)。
选择卷大小。 cinder 卷用作数据库的数据存储。
选择数据存储版本。
注意
如果创建的是复制集群的副本实例,则不需要数据存储,因为它与复制主实例相同。
(可选) 选择数据源。您可以使用备份创建新实例,方法是使用
--backup <BACKUP_ID>,或者使用--replica-of <PRIMARY_INSTANCE_ID>创建复制集群的副本实例。
创建数据库实例
本示例使用以下参数创建数据库实例
实例名称:
mysql_instance_1数据库规格:
1fb05bb0-4605-48b6-81e6-3d4622e4a330卷大小为
5(5 GB)一个名为
test的数据库该数据库基于
mysql数据存储和5.7.29数据存储版本用户
userA具有密码password。一个 Neutron 网络
8799cf10-01ef-40e2-b04e-06da7cfa5668用于分配数据库 IP 地址(用于内部访问)。通过
--is-public将实例暴露给公共网络(用于外部访问)。只有来自
202.37.199.1/24或10.1.0.1/24的 IP 地址才能访问数据库。
$ openstack database instance create mysql_instance_1 \ --flavor 6 \ --size 5 \ --nic net-id=8799cf10-01ef-40e2-b04e-06da7cfa5668 \ --databases test --users userA:password \ --datastore mysql --datastore-version 5.7.29 \ --is-public \ --allowed-cidr 10.1.0.1/24 \ --allowed-cidr 202.37.199.1/24 +--------------------------+--------------------------------------+ | Field | Value | +--------------------------+--------------------------------------+ | allowed_cidrs | [10.1.0.1/24, 202.37.199.1/24] | | created | 2020-12-08T21:00:19 | | datastore | mysql | | datastore_version | 5.7.29 | | datastore_version_number | 5.7.29 | | flavor | 1fb05bb0-4605-48b6-81e6-3d4622e4a330 | | id | ad40cf6c-6532-4a22-a3f3-7364f0f04a0f | | name | mysql_instance_1 | | operating_status | | | public | True | | region | RegionOne | | service_status_updated | 2020-12-08T21:00:19 | | status | BUILD | | updated | 2020-12-08T21:00:19 | | volume | 5 | +--------------------------+--------------------------------------+
获取数据库实例的 IP 地址
在获取 IP 地址以访问数据库之前,请等待实例
operating_status更改为 HEALTHY。$ openstack database instance show ad40cf6c-6532-4a22-a3f3-7364f0f04a0f +--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | Field | Value | +--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | addresses | [{'address': '10.0.0.59', 'type': 'private', 'network': '09f6aadc-f92d-41d4-8cad-2eb1876054dd'}, {'address': '172.24.4.242', 'type': 'public'}] | | allowed_cidrs | [] | | created | 2020-12-08T21:00:20 | | datastore | mysql | | datastore_version | 5.7.29 | | datastore_version_number | 5.7.29 | | flavor | 1fb05bb0-4605-48b6-81e6-3d4622e4a330 | | id | ad40cf6c-6532-4a22-a3f3-7364f0f04a0f | | ip | 10.0.0.59, 172.24.4.242 | | name | mysql_instance_1 | | operating_status | HEALTHY | | public | True | | region | RegionOne | | service_status_updated | 2020-12-08T21:05:51 | | status | ACTIVE | | updated | 2020-12-08T21:04:39 | | volume | 5 | | volume_used | 0.2 | +--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
访问新的数据库
现在,您可以使用典型的数据库访问命令访问您刚刚创建的新数据库。在本 MySQL 示例中,请根据命令的运行位置,将
IP_ADDRESS替换为 10.0.0.59 或 172.24.4.242。确保您的 IP 地址在上述命令中指定的允许的 CIDR 中。$ mysql -h IP_ADDRESS -uuserA -ppassword