Get a MySQL database
GET/mysql-databases/ {mysqlDatabaseId}/
Returns a MySQLDatabase resource and its current status.
Note that establishing a connection requires the linked user to have a status of ready; relying solely on the database status is insufficient.
Request
- mysqlDatabaseIdstringrequired
ID of the MySQLDatabase to be retrieved.
Responses
OK
- Schema-Dokumentation
- Beispiel
- JSON Schema
- characterSettingsobjectrequired
- characterSetstringrequired
A valid MySQL character set
- collationstringrequired
A valid MySQL collation
- createdAtstring (date-time)required
- descriptionstringrequired
A description of the MySQLDatabase. This is for your own reference and has no effect on the database itself.
- externalHostnamestringrequired
The hostname that you can use to connect to this MySQLDatabase from external sources, like your local machine or services running outside the mittwald cloud platform.
Note that you still need a database user with
externalAccessenabled to connect via this hostname. - finalizersarray of string (≥ 1 characters)
- Array[
- *string (≥ 1 characters)
]
- hostnamestringrequired
The hostname that you can use to connect to this MySQLDatabase from within the hosting environment.
- idstring (uuid)required
- isReadybooleanrequired
- isSharedbooleanrequired
- mainUserobject
- accessIpMaskstring
- accessLevelstring (one of: full, readonly)required
- createdAtstring (date-time)required
- databaseIdstring (uuid)required
- descriptionstring
- disabledbooleanrequired
- externalAccessbooleanrequired
- idstring (uuid)required
- mainUserbooleanrequired
- namestringrequired
- passwordUpdatedAtstring (date-time)required
- statusstring (one of: pending, ready, error, terminating, disabled)required
- statusSetAtstring (date-time)required
- updatedAtstring (date-time)required
- namestringrequired
The name of the MySQLDatabase. This is also the name of the database that you can use when connecting to it. It is automatically generated and cannot be changed.
- projectIdstring (uuid)required
- statusstring (one of: pending, ready, migrating, importing, error)required
- statusSetAtstring (date-time)required
- storageUsageInBytesinteger (int64)required
- storageUsageInBytesSetAtstring (date-time)required
- updatedAtstring (date-time)required
- versionstringrequired
The MySQL version that this database is running, in
<major>.<minor>format. Use theGET /v2/mysql-versionsendpoint to query available versions.
Content-Type: application/json
{
"characterSettings": {
"characterSet": "utf8mb4",
"collation": "utf8mb4_general_ci"
},
"createdAt": "1985-10-26T01:21:00.000Z",
"description": "string",
"externalHostname": "mysql.example-cluster.project.host",
"finalizers": [
"string"
],
"hostname": "mysql-XXXXXX.pg-YYYYYY.db.project.host",
"id": "f0f86186-0a5a-45b2-aa33-502777496347",
"isReady": true,
"isShared": true,
"mainUser": {
"accessIpMask": "string",
"accessLevel": "full",
"createdAt": "1985-10-26T01:21:00.000Z",
"databaseId": "f0f86186-0a5a-45b2-aa33-502777496347",
"description": "string",
"disabled": true,
"externalAccess": true,
"id": "f0f86186-0a5a-45b2-aa33-502777496347",
"mainUser": true,
"name": "string",
"passwordUpdatedAt": "1985-10-26T01:21:00.000Z",
"status": "pending",
"statusSetAt": "1985-10-26T01:21:00.000Z",
"updatedAt": "1985-10-26T01:21:00.000Z"
},
"name": "string",
"projectId": "f0f86186-0a5a-45b2-aa33-502777496347",
"status": "pending",
"statusSetAt": "1985-10-26T01:21:00.000Z",
"storageUsageInBytes": 123,
"storageUsageInBytesSetAt": "1985-10-26T01:21:00.000Z",
"updatedAt": "1985-10-26T01:21:00.000Z",
"version": "8.4"
}
{
"properties": {
"characterSettings": {
"properties": {
"characterSet": {
"description": "A valid MySQL character set",
"example": "utf8mb4",
"type": "string"
},
"collation": {
"description": "A valid MySQL collation",
"example": "utf8mb4_general_ci",
"type": "string"
}
},
"required": [
"characterSet",
"collation"
],
"type": "object"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"description": {
"description": "A description of the MySQLDatabase. This is for your own reference and has no effect on the database itself.\n",
"type": "string"
},
"externalHostname": {
"description": "The hostname that you can use to connect to this MySQLDatabase from external sources, like your local machine or services running outside the mittwald cloud platform.\n\nNote that you still need a database user with `externalAccess` enabled to connect via this hostname.\n",
"example": "mysql.example-cluster.project.host",
"type": "string"
},
"finalizers": {
"items": {
"minLength": 1,
"type": "string"
},
"type": "array",
"uniqueItems": true
},
"hostname": {
"description": "The hostname that you can use to connect to this MySQLDatabase from _within_ the hosting environment.\n",
"example": "mysql-XXXXXX.pg-YYYYYY.db.project.host",
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"isReady": {
"type": "boolean"
},
"isShared": {
"type": "boolean"
},
"mainUser": {
"properties": {
"accessIpMask": {
"type": "string"
},
"accessLevel": {
"enum": [
"full",
"readonly"
],
"type": "string"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"databaseId": {
"format": "uuid",
"type": "string"
},
"description": {
"type": "string"
},
"disabled": {
"type": "boolean"
},
"externalAccess": {
"type": "boolean"
},
"id": {
"format": "uuid",
"type": "string"
},
"mainUser": {
"type": "boolean"
},
"name": {
"type": "string"
},
"passwordUpdatedAt": {
"format": "date-time",
"type": "string"
},
"status": {
"enum": [
"pending",
"ready",
"error",
"terminating",
"disabled"
],
"type": "string"
},
"statusSetAt": {
"format": "date-time",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
}
},
"required": [
"id",
"createdAt",
"updatedAt",
"databaseId",
"name",
"passwordUpdatedAt",
"mainUser",
"disabled",
"accessLevel",
"externalAccess",
"status",
"statusSetAt"
],
"type": "object"
},
"name": {
"description": "The name of the MySQLDatabase. This is also the name of the database that you can use when connecting to it. It is automatically generated and cannot be changed.\n",
"type": "string"
},
"projectId": {
"format": "uuid",
"type": "string"
},
"status": {
"enum": [
"pending",
"ready",
"migrating",
"importing",
"error"
],
"type": "string"
},
"statusSetAt": {
"format": "date-time",
"type": "string"
},
"storageUsageInBytes": {
"format": "int64",
"type": "integer"
},
"storageUsageInBytesSetAt": {
"format": "date-time",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"description": "The MySQL version that this database is running, in `<major>.<minor>` format. Use the `GET /v2/mysql-versions` endpoint to query available versions.\n",
"example": "8.4",
"type": "string"
}
},
"required": [
"id",
"createdAt",
"updatedAt",
"projectId",
"name",
"description",
"version",
"characterSettings",
"hostname",
"isShared",
"isReady",
"storageUsageInBytes",
"storageUsageInBytesSetAt",
"status",
"statusSetAt",
"externalHostname"
],
"type": "object"
}
Usage examples
- cURL
- JavaScript SDK
- PHP SDK
$ curl \
--fail \
--location \
-H "Authorization: Bearer $MITTWALD_API_TOKEN" \
https://api.mittwald.de/v2/mysql-databases/string
import { MittwaldAPIV2Client } from "@mittwald/api-client";
import { assertStatus } from "@mittwald/api-client-commons";
const client = MittwaldAPIClient.newWithToken(process.env.MITTWALD_API_TOKEN);
const response = await client.database.getMysqlDatabase({
"mysqlDatabaseId": "string"
});
assertStatus(response, 200);
use \Mittwald\ApiClient\Generated\V2\Clients\Database\GetMysqlDatabase\GetMysqlDatabaseRequest;
$client = MittwaldAPIClient::newWithToken(getenv('MITTWALD_API_TOKEN'));
$request = (new GetMysqlDatabaseRequest(
mysqlDatabaseId: "string"
));
$response = $client->database()->getMysqlDatabase($request);
var_dump($response->getBody();