Assume that you have installed the Database service and populated your data store with images for the type and versions of databases that you want, and that you can create and access a database.
This example shows you how to create and access a MySQL 5.7 database.
Determine which flavor to use for your database
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.
The first step is to list flavors by using the openstack flavor list command.
$ openstack flavor list
Now take a look at the minimum requirements for various database instances:
Database | RAM (MB) | Disk (GB) | VCPUs |
---|---|---|---|
MySQL | 512 | 5 | 1 |
Cassandra | 2048 | 5 | 1 |
MongoDB | 1024 | 5 | 1 |
Redis | 512 | 5 | 1 |
MySQL example. This example creates a flavor that you can use with a MySQL database. This example has the following attributes:
mysql_minimum
6
.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 |
+----------------------------+---------------+
Create a database instance
This example creates a database instance with the following parameters:
mysql_instance_1
6
5
(5 GB)test
mysql
data store and the
5.7
datastore versionuserA
user with the password
password.8799cf10-01ef-40e2-b04e-06da7cfa5668
to allocate
the database IP address (for internal access).--is-public
(for external
access). Ignore this parameter if you don’t want to expose database
service to the public internet.202.37.199.1/24
or 10.1.0.1/24
are allowed to access the database service.$ openstack database instance create mysql_instance_1 \
6 \
--size 5 \
--nic net-id=8799cf10-01ef-40e2-b04e-06da7cfa5668 \
--databases test --users userA:password \
--datastore mysql --datastore_version 5.7 \
--is-public \
--allowed-cidr 10.1.0.1/24 \
--allowed-cidr 202.37.199.1/24
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| created | 2019-09-11T09:19:18 |
| datastore | mysql |
| datastore_version | 5.7 |
| flavor | 6 |
| id | 4bca2f27-f986-419e-ab4a-df1db399d590 |
| name | mysql_instance_1 |
| region | RegionOne |
| status | BUILD |
| updated | 2019-09-11T09:19:18 |
| volume | 5 |
+-------------------+--------------------------------------+
Get the IP address of the database instance
Both internal and external IP addresses can be shown by running:
$ openstack database instance show 4bca2f27-f986-419e-ab4a-df1db399d590
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| created | 2019-09-11T07:14:37 |
| datastore | mysql |
| datastore_version | 5.7 |
| flavor | 6 |
| id | 4bca2f27-f986-419e-ab4a-df1db399d590 |
| ip | 10.1.0.14, 172.24.5.15 |
| name | mysql_instance_1 |
| region | RegionOne |
| status | ACTIVE |
| updated | 2019-09-11T07:14:47 |
| volume | 5 |
| volume_used | 0.12 |
+-------------------+--------------------------------------+
Access the new database
You can now access the new database you just created by using
typical database access commands. In this MySQL example, replace
IP_ADDRESS
with either 10.1.0.14 or 172.24.5.15 according to where the
command is running. Make sure your IP address is in the allowed CIDRs
specified in the above command.
$ mysql -h IP_ADDRESS -uuserA -ppassword
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.