创建并访问数据库。

创建并访问数据库。

假设您已经安装了数据库服务并用您所需要的数据库的类型和版本的图像填充了您的数据存储,并且您可以创建和访问数据库。

这个示例展示了如何创建和访问MySQL 5.5 数据库。

创建并访问数据库。

  1. 确定要使用哪种规格类型的数据库

    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
    • 如果具有满足要创建的数据库需求的自定义云主机类型,请转到:ref:Step 2 <create-database-instance>,并使用该云主机类型。
    • If your environment does not have a suitable flavor, an administrative user must create a custom flavor by using the openstack flavor create command.

    MySQL 示例。 该示例创建了一个用于MYSQL数据库的规格类型。该示例具有以下属性:

    • 类型名称:“mysql_minimum”
    • 云主机类型ID:必须使用尚未使用的ID。在这个例子中,1到5正在使用,所以使用ID``6``。
    • 内存:512
    • 根卷大小(GB):5
    • 虚拟CPUs: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             |
    +----------------------------+---------------+
    
  2. 创建数据库示例

    此示例创建一个具有以下特点的数据库实例:

    • 实例名称:“mysql_instance_1”
    • 数据库类型:“6”

    此外,此命令为实例指定了这些选项:

    • 容量大小为“5”(5GB)
    • myDB 数据库
    • 数据库是mysql类型的,版本为mysql-5.5
    • 用户为 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}                                                                                              |
    +-------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    
  3. 获取数据库实例的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地址。

  4. 访问新数据库

    现在你可以使用典型的数据库访问命令访问你刚创建的新数据库(myDB)了。在这个MySQL的例子中,用``172.16.200.2``替换``IP_ADDRESS``。

    $ mysql -u userA -p password -h IP_ADDRESS myDB
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.