假设您已经安装了数据库服务并用您所需要的数据库的类型和版本的图像填充了您的数据存储,并且您可以创建和访问数据库。
这个示例展示了如何创建和访问MySQL 5.5 数据库。
确定要使用哪种规格类型的数据库
When you create a database instance, you must specify a nova flavor. The flavor indicates various characteristics of the instance, such as RAM and root volume size. You will need to create or obtain new nova flavors that work for databases.
第一步是运用`openstack flavor list`命令列出云主机类型。
$ openstack flavor list
现在看看各种数据库实例的最低需求:
数据库 | 内存 (MB) | 磁盘(GB) | 虚拟内核 |
---|---|---|---|
MySQL | 512 | 5 | 1 |
Cassandra | 2048 | 5 | 1 |
MongoDB | 1024 | 5 | 1 |
Redis | 512 | 5 | 1 |
MySQL 示例。 该示例创建了一个用于MYSQL数据库的规格类型。该示例具有以下属性:
512
5
1
$ openstack flavor create mysql-minimum --id 6 --ram 512 --disk 5 --vcpus 1
+----------------------------+---------------+
| Field | Value |
+----------------------------+---------------+
| OS-FLV-DISABLED:disabled | False |
| OS-FLV-EXT-DATA:ephemeral | 0 |
| disk | 5 |
| id | 6 |
| name | mysql-minimum |
| os-flavor-access:is_public | True |
| properties | |
| ram | 512 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 1 |
+----------------------------+---------------+
创建数据库示例
此示例创建一个具有以下特点的数据库实例:
此外,此命令为实例指定了这些选项:
myDB
数据库userA
,其密码为 password
.$ trove create mysql_instance_1 6 --size 5 --databases myDB \
--users userA:password --datastore_version mysql-5.5 \
--datastore mysql
+-------------------+---------------------------------------------------------------------------------------t-----------------------------------------------------------------------------------------------------------------+
| Property | Value |
+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| created | 2014-05-29T21:26:21 |
| datastore | {u'version': u'mysql-5.5', u'type': u'mysql'} |
| datastore_version | mysql-5.5 |
| flavor | {u'id': u'6', u'links': [{u'href': u'https://controller:8779/v1.0/46d0bc4fc32e4b9e8520f8fc62199f58/flavors/6', u'rel': u'self'}, {u'href': u'https://controller:8779/flavors/6', u'rel': u'bookmark'}]} |
| id | 5599dad6-731e-44df-bb60-488da3da9cfe |
| name | mysql_instance_1 |
| status | BUILD |
| updated | 2014-05-29T21:26:21 |
| volume | {u'size': 5} |
+-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
获取数据库实例的IP地址
首先,使用命令:’trove list’列出所有实例和它们的ID:
$ trove list
+--------------------------------------+------------------+-----------+-------------------+--------+-----------+------+
| id | name | datastore | datastore_version | status | flavor_id | size |
+--------------------------------------+------------------+-----------+-------------------+--------+-----------+------+
| 5599dad6-731e-44df-bb60-488da3da9cfe | mysql_instance_1 | mysql | mysql-5.5 | BUILD | 6 | 5 |
+--------------------------------------+------------------+-----------+-------------------+--------+-----------+------+
该命令返回新的云主机的主机标识。
现在,你可以通过实例ID使用’trove show’命令得到实例的IP地址。例如,使用”5599dad6-731e-44df-bb60-488da3da9cfe”代替”INSTANCE_ID”。
$ trove show INSTANCE_ID
+-------------------+--------------------------------------+
| Property | Value |
+-------------------+--------------------------------------+
| created | 2014-05-29T21:26:21 |
| datastore | mysql |
| datastore_version | mysql-5.5 |
| flavor | 6 |
| id | 5599dad6-731e-44df-bb60-488da3da9cfe |
| ip | 172.16.200.2 |
| name | mysql_instance_1 |
| status | BUILD |
| updated | 2014-05-29T21:26:54 |
| volume | 5 |
+-------------------+--------------------------------------+
该命令返回数据库实例的IP地址。
访问新数据库
现在你可以使用典型的数据库访问命令访问你刚创建的新数据库(myDB)了。在这个MySQL的例子中,用``172.16.200.2``替换``IP_ADDRESS``。
$ mysql -u userA -p password -h IP_ADDRESS myDB
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.