MySQL
Reference for the humanitec/mysql driver
This provisions a new MySQL database in an existing MySQL instance. The instance must be reachable from Humanitec IPs.
Property
Description
Resource Type
mysql
Account Type
None

Inputs

Values

Name
Type
Description
host
string
The IP Address or hostname that the instance is available on.
port
integer
The port the instance is listening on.
append_host_to_user
boolean
[Optional] Azure Databases for Postgres and MySQL require usernames to have @servername appended to them. Set this to true for the driver to append this automatically. (See: Azure Database connection strings)
copy_from_name
string
[Optional] If provided, specifies the database in the same instance to copy data from.

Secrets

Name
Type
Description
dbcredentials
object
An object holding username and password properties for the PostgreSQL super user.

Notes

Automatic population of database

MySQL does not provide any standard way of duplicating databases. Instead, the suggested approach is to "dump and restore" a database using tools such as mysqldump.
This driver emulates a dump and restore of the database - i.e. it serially copies data from the source database to the target database. It therefore suffers from limitations of dumping and restoring a database. The main issue is that if the source database is being written to, there are no guarantees about the data integrity in the resulting database. Consider a source database with 2 tables A and B:
  1. 1.
    Table A is copied to the target database.
  2. 2.
    New data is then written to Table A and Table B in the source database.
  3. 3.
    Table B is copied from the source database to the target database.
The target database will now have the updated to table B but not table A.
This functionality should not be used for production databases or where data integrity must be guaranteed.

Example

To create a fresh MySQL database in an instance available at dev-mysql.example.com:
curl https://api.humanitec.io/orgs/${HUMANITEC_ORG}/resources/defs \
-X POST \
-H "Authorization: Bearer ${HUMANITEC_TOKEN}" \
-H "Content-Type: application/json" \
--data-binary '
{
"id": "dev-mysql",
"name": "Dev MySQL",
"type": "mysql",
"criteria": [
{
"env_type": "development"
}
],
"driver_type": "humanitec/mysql",
"driver_inputs": {
"values": {
"host": "dev-mysql.example.com",
"port": 3306
},
"secrets": {
"dbcredentials": {
"username": "root",
"password": "53cr3t-P455w0rd"
}
}
}
}'
Last modified 3mo ago
Copy link
On this page
Inputs
Values
Secrets
Notes
Automatic population of database
Example