74 lines
2.0 KiB
Markdown
74 lines
2.0 KiB
Markdown
---
|
|
layout: "mysql"
|
|
page_title: "Provider: MySQL"
|
|
sidebar_current: "docs-mysql-index"
|
|
description: |-
|
|
A provider for MySQL Server.
|
|
---
|
|
|
|
# MySQL Provider
|
|
|
|
[MySQL](http://www.mysql.com) is a relational database server. The MySQL
|
|
provider exposes resources used to manage the configuration of resources
|
|
in a MySQL server.
|
|
|
|
Use the navigation to the left to read about the available resources.
|
|
|
|
## Example Usage
|
|
|
|
The following is a minimal example:
|
|
|
|
```
|
|
# Configure the MySQL provider
|
|
provider "mysql" {
|
|
endpoint = "my-database.example.com:3306"
|
|
username = "app-user"
|
|
password = "app-password"
|
|
}
|
|
|
|
# Create a Database
|
|
resource "mysql_database" "app" {
|
|
name = "my_awesome_app"
|
|
}
|
|
```
|
|
|
|
This provider can be used in conjunction with other resources that create
|
|
MySQL servers. For example, ``aws_db_instance`` is able to create MySQL
|
|
servers in Amazon's RDS service.
|
|
|
|
```
|
|
# Create a database server
|
|
resource "aws_db_instance" "default" {
|
|
engine = "mysql"
|
|
engine_version = "5.6.17"
|
|
instance_class = "db.t1.micro"
|
|
name = "initial_db"
|
|
username = "rootuser"
|
|
password = "rootpasswd"
|
|
|
|
# etc, etc; see aws_db_instance docs for more
|
|
}
|
|
|
|
# Configure the MySQL provider based on the outcome of
|
|
# creating the aws_db_instance.
|
|
provider "mysql" {
|
|
endpoint = "${aws_db_instance.default.endpoint}"
|
|
username = "${aws_db_instance.default.username}"
|
|
password = "${aws_db_instance.default.password}"
|
|
}
|
|
|
|
# Create a second database, in addition to the "initial_db" created
|
|
# by the aws_db_instance resource above.
|
|
resource "mysql_database" "app" {
|
|
name = "another_db"
|
|
}
|
|
```
|
|
|
|
## Argument Reference
|
|
|
|
The following arguments are supported:
|
|
|
|
* `endpoint` - (Required) The address of the MySQL server to use. Most often a "hostname:port" pair, but may also be an absolute path to a Unix socket when the host OS is Unix-compatible.
|
|
* `username` - (Required) Username to use to authenticate with the server.
|
|
* `password` - (Optional) Password for the given user, if that user has a password.
|