The MySQL provider for Pulumi can be used to provision any of the resources available for MySQL. The MySQL provider must be configured with credentials to deploy and update resources in MySQL.

See the full API documentation for complete details of the available MySQL provider APIs.


The MySQL provider supports several options for providing access to MySQL credentials. See the MySQL setup page for details.


const mysql = require("@pulumi/mysql")

const myDb = new mysql.Database("my-database");
import * as mysql from "@pulumi/mysql";

const myDb = new mysql.Database("my-database");
import pulumi_mysql as mysql

my_db = mysql.Database("my-database")
import (
	mysql ""

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myDb, err := mysql.NewDatabase(ctx, "my-database", &mysql.DatabaseArgs{})
		if err != nil {
			return err

		return nil

using System.Collections.Generic;
using System.Threading.Tasks;
using Pulumi;
using Pulumi.Mysql;

class Program
    static Task Main() =>
        Deployment.Run(() => {
            mydatabase = new Database("my-database", new DatabaseArgs{});


The following packages are available in packager managers:

The MySQL provider is open source and available in the pulumi/pulumi-mysql repo.