How to integrate with applications¶
Integrations (also relations) are connections between two applications with compatible endpoints. These connections simplify the creation and management of users, passwords, and other shared data.
This guide shows how to integrate Charmed MySQL with both charmed and non-charmed applications.
For developer information about how to integrate your own charmed application with MySQL, see How to integrate a database with your charm.
Integrate with a charmed application¶
Integrations with charmed applications are supported via the mysql_client interface, and the legacy mysql interface.
Modern mysql_client interface¶
To integrate with a charmed application that supports the mysql_client interface, run
juju relate mysql <charm>
juju relate mysql-k8s <charm>
To remove the integration, run
juju remove-relation mysql <charm>
juju remove-relation mysql-k8s <charm>
Legacy mysql interface¶
Caution
Note that this interface is deprecated. See more information in Legacy charm.
To integrate via the legacy interface, run
juju relate mysql:mysql <charm>
juju relate mysql-k8s:mysql <charm>
Extended permissions can be requested using mysql-root endpoint:
juju relate mysql:mysql-root <charm>
juju relate mysql-k8s:mysql-root <charm>
Integrate with a non-charmed application¶
To integrate with an application outside of Juju, you must use the data-integrator charm to create the required credentials and endpoints.
Deploy data-integrator:
juju deploy data-integrator --config database-name=<name>
Integrate with MySQL:
juju relate data-integrator mysql
juju relate data-integrator mysql-k8s
Use the get-credentials action to retrieve credentials from data-integrator:
juju run data-integrator/leader get-credentials
Juju 2.9 users
Remember that juju run <action name> becomes juju run-action <action name> --wait.
See also: Breaking changes between Juju 2.9 and 3
Rotate applications password¶
To rotate the passwords of users created for related applications, the relation should be removed and related again. That process will generate a new user and password for the application.
juju remove-relation <charm> mysql
juju relate <charm> mysql
juju remove-relation <charm> mysql-k8s
juju relate <charm> mysql-k8s
Internal operator user¶
The operator user is used internally by the Charmed MySQL application. The set-password action can be used to rotate its password.
To set a specific password for the operator user, run
juju run mysql/leader set-password password=<password>
juju run mysql-k8s/leader set-password password=<password>
To randomly generate a password for the operator user, run
juju run mysql/leader set-password
juju run mysql/leader set-password
juju run mysql-k8s/leader set-password
See also