create

Description

Creates and launches a DB System.

Usage

oci mysql db-system create [OPTIONS]

Required Parameters

--compartment-id, -c [text]

The OCID of the compartment.

--shape-name [text]

The name of the shape. The shape determines the resources allocated - CPU cores and memory for VM shapes; CPU cores, memory and storage for non-VM (or bare metal) shapes. To get a list of shapes, use the ListShapes operation.

--subnet-id [text]

The OCID of the subnet the DB System is associated with.

Optional Parameters

--admin-password [text]

The password for the administrative user. The password must be between 8 and 32 characters long, and must contain at least 1 numeric character, 1 lowercase character, 1 uppercase character, and 1 special (nonalphanumeric) character.

--admin-username [text]

The username for the administrative user.

--availability-domain [text]

The availability domain on which to deploy the Read/Write endpoint. This defines the preferred primary instance.

In a failover scenario, the Read/Write endpoint is redirected to one of the other availability domains and the MySQL instance in that domain is promoted to the primary instance. This redirection does not affect the IP address of the DB System in any way.

For a standalone DB System, this defines the availability domain in which the DB System is placed.

--backup-policy [complex type]

This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--configuration-id [text]

The OCID of the Configuration to be used for this DB System.

--crash-recovery [text]

Whether to run the DB System with InnoDB Redo Logs and the Double Write Buffer enabled or disabled, and whether to enable or disable syncing of the Binary Logs.

Accepted values are:

DISABLED, ENABLED
--customer-contacts [complex type]

The list of customer email addresses that receive information from Oracle about the specified OCI DB System resource. Oracle uses these email addresses to send notifications about planned and unplanned software maintenance updates, information about system hardware, and other information needed by administrators. Up to 10 email addresses can be added to the customer contacts for a DB System.

This option is a JSON list with items of type CustomerContact. For documentation on CustomerContact please see our API reference: https://docs.cloud.oracle.com/api/#/en/dbsystem/20190415/datatypes/CustomerContact. This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--data-storage-size-in-gbs [integer]

Initial size of the data volume in GBs that will be created and attached. Keep in mind that this only specifies the size of the database data volume, the log volume for the database will be scaled appropriately with its shape.

--database-management [text]

Whether to enable monitoring via the Database Management service.

Accepted values are:

DISABLED, ENABLED
--defined-tags [complex type]

Usage of predefined tag keys. These predefined keys are scoped to namespaces. Example: {“foo-namespace”: {“bar-key”: “value”}} This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--deletion-policy [complex type]

This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--description [text]

User-provided data about the DB System.

--display-name [text]

The user-friendly name for the DB System. It does not have to be unique.

--fault-domain [text]

The fault domain on which to deploy the Read/Write endpoint. This defines the preferred primary instance.

In a failover scenario, the Read/Write endpoint is redirected to one of the other fault domains and the MySQL instance in that domain is promoted to the primary instance. This redirection does not affect the IP address of the DB System in any way.

For a standalone DB System, this defines the fault domain in which the DB System is placed.

--freeform-tags [complex type]

Simple key-value pair applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {“bar-key”: “value”} This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--from-json [text]

Provide input to this command as a JSON document from a file using the file://path-to/file syntax.

The --generate-full-command-json-input option can be used to generate a sample json file to be used with this command option. The key names are pre-populated and match the command option names (converted to camelCase format, e.g. compartment-id –> compartmentId), while the values of the keys need to be populated by the user before using the sample file as an input to this command. For any command option that accepts multiple values, the value of the key can be a JSON array.

Options can still be provided on the command line. If an option exists in both the JSON document and the command line then the command line specified value will be used.

For examples on usage of this option, please see our “using CLI with advanced JSON options” link: https://docs.cloud.oracle.com/iaas/Content/API/SDKDocs/cliusing.htm#AdvancedJSONOptions

--hostname-label [text]

The hostname for the primary endpoint of the DB System. Used for DNS.

The value is the hostname portion of the primary private IP’s fully qualified domain name (FQDN) (for example, “dbsystem-1” in FQDN “dbsystem-1.subnet123.vcn1.oraclevcn.com”).

Must be unique across all VNICs in the subnet and comply with RFC 952 and RFC 1123.

--ip-address [text]

The IP address the DB System is configured to listen on. A private IP address of your choice to assign to the primary endpoint of the DB System. Must be an available IP address within the subnet’s CIDR. If you don’t specify a value, Oracle automatically assigns a private IP address from the subnet. This should be a “dotted-quad” style IPv4 address.

--is-auto-expand-storage-enabled [boolean]

Checks whether Automatic Storage Expansion should be enabled for the dbsystem.

--is-highly-available [boolean]

Specifies if the DB System is highly available.

When creating a DB System with High Availability, three instances are created and placed according to your region- and subnet-type. The secondaries are placed automatically in the other two availability or fault domains. You can choose the preferred location of your primary instance, only.

--maintenance [complex type]

This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--max-storage-size-in-gbs [integer]

Sets the maximum storage size a db system can automatically be expanded to.

--max-wait-seconds [integer]

The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.

--mysql-version [text]

The specific MySQL version identifier.

--port [integer]

The port for primary endpoint of the DB System to listen on.

--port-x [integer]

The TCP network port on which X Plugin listens for connections. This is the X Plugin equivalent of port.

--secure-connections [complex type]

This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--source [complex type]

This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using the file://path/to/file syntax.

The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example in a file, modifying it as needed and then passing it back in via the file:// syntax.

--wait-for-state [text]

This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.

Accepted values are:

ACCEPTED, CANCELED, CANCELING, FAILED, IN_PROGRESS, SUCCEEDED
--wait-interval-seconds [integer]

Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.

Example using required parameter

Copy the following CLI commands into a file named example.sh. Run the command by typing “bash example.sh” and replacing the example parameters with your own.

Please note this sample will only work in the POSIX-compliant bash-like shell. You need to set up the OCI configuration and appropriate security policies before trying the examples.

    export compartment_id=<substitute-value-of-compartment_id> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/mysql/db-system/create.html#cmdoption-compartment-id
    export shape_name=<substitute-value-of-shape_name> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/mysql/db-system/create.html#cmdoption-shape-name
    export subnet_id=<substitute-value-of-subnet_id> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/mysql/db-system/create.html#cmdoption-subnet-id

    oci mysql db-system create --compartment-id $compartment_id --shape-name $shape_name --subnet-id $subnet_id