# User Privileges

When you use MariaDB with IONOS Cloud DBaaS, the initial user is given a full set of administrative permissions. These privileges allow the user to create, manage, and control the database.

| Privilege                 | Description                                                                                                                              |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `ALTER`                   | Modify the structure of a table using the `ALTER TABLE` statement.                                                                       |
| `ALTER ROUTINE`           | Change the characteristics of a stored procedure or function using the `ALTER PROCEDURE` or `ALTER FUNCTION` statements.                 |
| `CONNECTION ADMIN`        | Manage database connections, such as disconnecting users.                                                                                |
| `CREATE`                  | Create databases using the `CREATE DATABASE` statement.                                                                                  |
| `CREATE ROUTINE`          | Create stored programs using the `CREATE PROCEDURE` or `CREATE FUNCTION` statements.                                                     |
| `CREATE TEMPORARY TABLES` | Create temporary tables with the `CREATE TEMPORARY TABLE` statement. This privilege enables writing and dropping those temporary tables. |
| `CREATE USER`             | Create new database users.                                                                                                               |
| `CREATE VIEW`             | Create a view using the `CREATE VIEW` statement.                                                                                         |
| `DELETE`                  | Remove rows from a table using the `DELETE` statement.                                                                                   |
| `DELETE HISTORY`          | Remove historical rows from a table using the `DELETE HISTORY` statement.                                                                |
| `DROP`                    | Delete databases, tables, or views using the `DROP DATABASE`, `DROP TABLE`, or `DROP VIEW` statements.                                   |
| `EXECUTE`                 | Execute a stored procedure using the `CALL` statement.                                                                                   |
| `INDEX`                   | Create an index on a table using the `CREATE INDEX` statement.                                                                           |
| `INSERT`                  | Add new rows to a table using the `INSERT` statement.                                                                                    |
| `LOCK TABLES`             | Lock tables for controlled read/write access using the `LOCK TABLES` statement.                                                          |
| `PROCESS`                 | View and control current server processes.                                                                                               |
| `REFERENCES`              | Currently unused.                                                                                                                        |
| `SELECT`                  | Read data from tables using the `SELECT` statement.                                                                                      |
| `SET USER`                | Switch to a different user session.                                                                                                      |
| `SHOW DATABASES`          | Display a list of all databases on the server.                                                                                           |
| `SHOW VIEW`               | Show the `CREATE VIEW` statement to create a view using the `SHOW CREATE VIEW` statement.                                                |
| `SLAVE MONITOR`           | Monitor database replication processes (for replica servers).                                                                            |
| `TRIGGER`                 | Create, delete, or display database triggers using the `CREATE TRIGGER`, `DROP TRIGGER`, or `SHOW CREATE TRIGGER` statements.            |
| `UPDATE`                  | Modify existing rows in a table using the `UPDATE` statement.                                                                            |

***

These privileges give the initial user full control over the database. They also come with the **GRANT OPTION**, which allows the user to assign these permissions to others, helping manage access safely and efficiently.

For more information, refer to the [<mark style="color:blue;">MariaDB Documentation</mark>](https://mariadb.com/kb/en/grant/).
