MySQL 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.
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" }
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.
© 2018 HashiCorpLicensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/mysql/index.html