summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorDariusz Krol <d.krol@samsung.com>2019-01-29 21:11:35 +0100
committerDariusz Krol <d.krol@samsung.com>2019-03-19 21:24:13 +0100
commit26635039306bf113bbc60e69c225a50a7cc6c98b (patch)
tree7b727fa7f5c4bd2a88defd73a43359e366ec7c39 /doc
parentf4b5c65dc06e315f7de0d54779811d6c1eaeeab9 (diff)
downloadtrove-26635039306bf113bbc60e69c225a50a7cc6c98b.tar.gz
Add documentation for managing databases and users
New entry added as an RST file with examples showing how to create and manage users and databases on Trove instances using Trove API. Change-Id: I565f3b4d7c215c9508de127f1781638531d6fb45 Signed-off-by: Dariusz Krol <dkrol3@gmail.com> Signed-off-by: Dariusz Krol <d.krol@samsung.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/source/user/index.rst1
-rw-r--r--doc/source/user/manage-db-and-users.rst150
2 files changed, 151 insertions, 0 deletions
diff --git a/doc/source/user/index.rst b/doc/source/user/index.rst
index 4392664b..e65cd5d6 100644
--- a/doc/source/user/index.rst
+++ b/doc/source/user/index.rst
@@ -11,6 +11,7 @@ handling complex administrative tasks.
:maxdepth: 1
create-db.rst
+ manage-db-and-users.rst
backup-db.rst
backup-db-incremental.rst
manage-db-config.rst
diff --git a/doc/source/user/manage-db-and-users.rst b/doc/source/user/manage-db-and-users.rst
new file mode 100644
index 00000000..38a80442
--- /dev/null
+++ b/doc/source/user/manage-db-and-users.rst
@@ -0,0 +1,150 @@
+=============================================
+Manage databases and users on Trove instances
+=============================================
+
+Assume that you installed Trove service and uploaded images with datastore
+of your choice.
+This section shows how to manage users and databases in a MySQL 5.7 instance.
+
+Add new database and user to an existing Trove instance
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Trove provides API to manage users and databases on
+datastores including relational (e.g. MySQL, PostgreSQL) and non-relational
+(e.g. Redis, Cassandra). Once a Trove instance with a datastore of choice is
+active you can use Trove API to create new databases and/or users.
+
+.. code-block:: console
+
+ $ openstack database user list db-instance
+
+ +------+------+-----------+
+ | Name | Host | Databases |
+ +------+------+-----------+
+ | test | % | testdb |
+ +------+------+-----------+
+
+ $ openstack database user create db-instance newuser userpass --databases testdb
+
+ $ openstack database user list db-instance
+
+ +---------+------+-----------+
+ | Name | Host | Databases |
+ +---------+------+-----------+
+ | newuser | % | testdb |
+ | test | % | testdb |
+ +---------+------+-----------+
+
+
+ $ mysql -h 172.24.4.199 -u newuser -p testdb
+ Enter password:
+
+ mysql> show databases;
+
+ +--------------------+
+ | Database |
+ +--------------------+
+ | information_schema |
+ | testdb |
+ +--------------------+
+
+ 2 rows in set (0.00 sec)
+
+
+ $ openstack database db create db-instance newdb
+
+
+ $ openstack database db list db-instance
+
+ +--------+
+ | Name |
+ +--------+
+ | newdb |
+ | sys |
+ | testdb |
+ +--------+
+
+ $ mysql -h 172.24.4.199 -u newuser -p newdb
+
+ Enter password:
+ ERROR 1044 (42000): Access denied for user 'newuser'@'%' to database 'newdb'
+
+
+Manage access to databases
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+With Trove API you can grant and revoke database access rights for existing users.
+
+.. code-block:: console
+
+ $ openstack database user grant access db-instance newuser newdb
+
+
+ $ openstack database user show access db-instance newuser
+
+ +--------+
+ | Name |
+ +--------+
+ | newdb |
+ | testdb |
+ +--------+
+
+ $ mysql -h IP_ADDRESS -u newuser -p newdb
+ Enter password:
+
+
+ $ openstack database user show access db-instance test
+
+ +--------+
+ | Name |
+ +--------+
+ | testdb |
+ +--------+
+
+ $ mysql -h IP_ADDRESS -u test -p newdb
+ Enter password:
+
+ ERROR 1044 (42000): Access denied for user 'test'@'%' to database 'newdb'
+
+
+ $ openstack database user revoke access db-instance newuser newdb
+
+
+ $ mysql -h IP_ADDRESS -u newuser -p newdb
+ Enter password:
+
+ ERROR 1044 (42000): Access denied for user 'newuser'@'%' to database 'newdb'
+
+
+Delete databases
+~~~~~~~~~~~~~~~~
+
+Lastly, Trove provides API for deleting databases.
+
+.. code-block:: console
+
+ $ openstack database db list db-instance
+
+ +--------+
+ | Name |
+ +--------+
+ | newdb |
+ | sys |
+ | testdb |
+ +--------+
+
+ $ openstack database db delete db-instance testdb
+
+ $ openstack database db list db-instance
+
+ +--------+
+ | Name |
+ +--------+
+ | newdb |
+ | sys |
+ +--------+
+
+ $ mysql -h IP_ADDRESS -u test -p testdb
+ Enter password:
+
+ ERROR 1049 (42000): Unknown database 'testdb' \ No newline at end of file