MySQL: 4. Create the service

This documentation is part of the Automate with the CLI guide. You can view the complete guide here: Start MySQL, retrieve its credentials, and modify its configuration programmatically using the Stackhero CLI.

👋 Welcome to the Stackhero documentation!

Stackhero offers a fully managed MySQL cloud service that streamlines deployment and management for your production workloads:

  • Unlimited connections and data transfers.
  • Integrated phpMyAdmin web interface for simplified database management.
  • Effortless updates with one-click upgrades.
  • Consistent performance and enhanced security on a private, dedicated infrastructure.

With Stackhero, you have a reliable MySQL database ready within minutes. Reduce the time spent on installation and maintenance, and focus on developing your applications. Try MySQL cloud hosting on Stackhero today.

Below is an example script that creates a stack, adds your MySQL service to it, waits for it to start, retrieves its configuration (including generated credentials), and then applies a new configuration.

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="mysql"   # The MySQL service store name (see step 2)
instance="..."                # An instance size from step 3
region="europe"               # A region name from step 3

# Create a stack for your service (uses your default organisation; add --organization if needed)
stackId=$(stackhero --format=script stack-create \
  --name="My MySQL stack")
echo "Stack created: ${stackId}"

# Add MySQL to the stack (names are resolved automatically)
serviceId=$(stackhero --format=script service-add \
  --stack="My MySQL stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Service added: mysql"

# Wait for the service to be fully operational (this may take a few minutes)
stackhero service-wait-for --service="mysql"

# Retrieve the service configuration, including generated credentials
stackhero service-configuration-get --service="mysql" --format=json