Create MariaDB using Zerops GUI
If you’re migrating from another database system such as MySQL, please review the migration information section first, as some critical settings must be configured at creation time.
Choose MariaDB version
Select from the currently supported MariaDB versions. The available versions are displayed in the service creation wizard.Set a hostname
Enter a unique service identifier likemariadb, sql, db etc.
Configure auto scaling
Zerops automatically scales MariaDB services based on actual database usage. Configure the scaling parameters to match your database needs and control costs. CPU Mode: Choose between shared (cost-effective) or dedicated (consistent performance). Resource Limits: Set minimum and maximum resources for CPU, RAM, and disk to control costs and ensure performance. Deployment Mode: Choose the reliability configuration for your MariaDB service:- Highly Available: Multiple containers with redundancy across different physical machines. Recommended for production environments.
- Single Container: One container suitable for development and non-critical environments.
Create MariaDB using zCLI
If you’re migrating from another database system such as MySQL, please review the migration information section first, as some critical settings must be configured at creation time.
Install & setup zCLI
Install and configure zCLI if you haven’t already.
Create a project description file
Zerops uses a YAML format file to describe the project infrastructure.Basic example
Create a directorymy-project. Create a description.yaml file inside the directory with the following content:
mariadb1.
Full example
Create a directorymy-project. Create a description.yaml file inside the directory with the following content:
mariadb1. The highly available mode will be chosen and the custom auto scaling configuration will be set. The lower_case_table_names system variable will be set to “1”.
The hostname of the second service will be set to mariadb2. The single container mode will be chosen and the default auto scaling configuration will be set.
Description of description.yaml parameters
Project section
Theproject: section is required. Only one project can be defined.
| Parameter | Description | Limitations |
|---|---|---|
| name | The name of the new project. Duplicates are allowed. | |
| description | Optional. Description of the new project. | Maximum 255 characters. |
| tags | Optional. One or more string tags. Tags do not have a functional meaning, they only provide better orientation in projects. |
Services section
At least one service inservices: section is required. You can create a project with multiple services.
| Parameter | Description |
|---|---|
| hostname | A unique service identifier like mariadb,sql, db etc.Limitations: - duplicate services with the same name in the same project are forbidden - maximum 25 characters - must contain only lowercase ASCII letters (a-z) or numbers (0-9) |
| type | Specifies the service type and version. See what MariaDB service types are currently supported. |
| mode | Defines the operation mode of MariaDB service. HA Zerops will create a MariaDB cluster with 3 database containers and 2 free database proxies. This mode is suited for production. Zerops always keep the 3 database containers on different physical machines. All your data is stored redundantly in 3 copies. In case of a failure of a container or the underlying physical machine, Zerops automatically disconnects the failed container from the cluster, creates a new container and syncs all data from the remaining 2 copies. Finally the broken container is automatically deleted. NON_HA Zerops will create a MariaDB database installed in a single container. Useful for non-essential data or dev environments. Your data is stored only in a single container. If the container or the underlying physical machine fails, your data since the last backup are lost. Zerops doesn’t provide any automatic repairs of single node MariaDB services. |
| verticalAutoscaling | Optional. Defines custom vertical auto scaling parameters. All verticalAutoscaling attributes are optional. Not specified attributes will be set to their default values. |
| - cpuMode | Optional. Accepts SHARED, DEDICATED values. Default is SHARED |
| - minCpu/maxCpu | Optional. Set the minCpu or maxCpu in CPU cores (integer). |
| - minRam/maxRam | Optional. Set the minRam or maxRam in GB (float). |
| - minDisk/maxDisk | Optional. Set the minDisk or maxDisk in GB (float). |
| envSecrets | Optional. Defines secret environment variables for the service, including MariaDB system variables. |
Create a project based on the description.yaml
When you have yourdescription.yaml ready, use the zcli project project-import command to create a new project and the service infrastructure.
description.yaml content.
Maximum size of the description.yaml file is 100 kB.
You don’t specify the project name in the zcli project project-import command, because the project name is defined in the description.yaml.
If you have access to more than one client, you must specify the client ID for which the project is to be created. The clientID is located in the Zerops GUI under the client name on the project dashboard page.
Add MariaDB service to an existing project
Create a directorymy-project if it doesn’t exist. Create an import.yaml file inside the my-project directory with following content:
mariadb1. The lower_case_table_names system variable will be set to “1”.
The content of the services: section of import.yaml is identical to the project description file. The import.yaml never contains the project: section because the project already exists.
When you have your import.yaml ready, use the zcli project service-import command to add one or more services to your existing Zerops project.
zcli project service-import importYamlPath, you will be given a list of your projects to choose from.
Maximum size of the import.yaml file is 100 kB.
Migrating from other database systems
Configure system variables
When migrating to MariaDB in Zerops from other database systems, you may need to configure specific system variables to maintain compatibility with your existing applications.Setting lower_case_table_names for MySQL compatibility
The lower_case_table_names system variable determines how MariaDB handles table name case sensitivity:
| Value | Table Name Storage | Comparison Behavior |
|---|---|---|
| 0 | Stored as specified (preserves case) | Case-sensitive |
| 1 | Stored in lowercase | Case-insensitive |
| 2 | Stored as specified (preserves case) | Case-insensitive |
- Using GUI: Set the
lower_case_table_namesparameter in the advanced options section when creating a new MariaDB service - Using YAML: Include it in your service configuration under the
envSecretssection (see examples above)
Migration considerations
If you’re migrating from MySQL to MariaDB and your application relies on a specific table name case handling:Configure before initialization
Configure the same value in your Zerops MariaDB configuration before initializing the database.
Next Steps
Connect to MariaDB
Learn how to connect from your applications