LATEST VERSION: 2.1 - CHANGELOG

MySQL for PCF

This is documentation for the MySQL for Pivotal Cloud Foundry (PCF) service tile. The tile can be downloaded from Pivotal Network.

Note: This documents MySQL for PCF v1.10, a pre-provisioned service that supports single-node or high-availability cluster architectures. For the on-demand service that creates dedicated service instances dynamically, see the v2.0 documentation here or select v2.0 from the version dropdown at the top of this page.

About MySQL

MySQL is a powerful open-source relational database used by apps since the mid-90s. Developers have relied on MySQL as a first step to storing, processing and sharing data. As its user community has grown, MySQL has become a robust system capable of handling a wide variety of use cases and very significant workloads. Unlike other traditional databases which centralize and consolidate data, MySQL lends itself to dedicated deployment supporting the “shared nothing” context of building apps in the cloud.

About MySQL for PCF

The MySQL for PCF product delivers a fully managed, “Database as a Service” to Cloud Foundry users. The tile deploys and maintains a MySQL server running a recent release of MariaDB and Galera; an SQL proxy, Switchboard; and a service broker. The tile configures sane defaults for a general-use relational database service.

With MySQL for PCF installed, developers can attach a database to their apps in as little as two commands, cf create-service and cf bind-service. Developers can retrieve connection credentials in the standard manner, from the VCAP-SERVICES environment variable. Developers can select from a menu of service plans options, which are configured by the platform operator.

You can deploy MySQL for PCF in either single-node or high availability (HA) topology. The HA topology has three MySQL servers, two proxies, and two service brokers, and you need to supply a load balancer.

For developers using BOSH CLI, there are a few things to keep in mind:

  • When using PCF v1.10, BOSH CLI v1 is used.
  • When using PCF v1.11, you can use either BOSH CLI v1 or BOSH CLI v2, but we recommend using the BOSH CLI v2 (as v1 will be deprecated in the future)
  • In PCF v1.12, you must use the BOSH CLI v2.

Product Snapshot

The following table provides version and version-support information about MySQL for PCF:

Element Details
Version v1.10.8
Release date December 13, 2017
Software component version MariaDB v10.1.26 and Galera v25.3.20
Compatible Ops Manager version(s) v1.10.x, v1.11.x, v1.12.x, and v2.0.x
Compatible Elastic Runtime* version(s) v1.10.9, v1.11.x, and v1.12.x
Compatible Pivotal Application Service (PAS)* version(s) v2.0.x
IaaS support AWS, GCP, Azure, OpenStack, and vSphere
IPsec support Yes

* As of PCF v2.0, Elastic Runtime is renamed Pivotal Application Service (PAS).

MySQL for PCF and Other PCF Services

Some PCF services offer on-demand service plans. These plans let developers provision service instances when they want.

These contrast with the more common pre-provisioned service plans, which require operators to provision the service instances during installation and configuration through the service tile UI.

The following PCF services offer on-demand service plans:

  • MySQL for PCF 2.0 and later

  • RabbitMQ for PCF

  • Redis for PCF

  • Pivotal Cloud Cache (PCC)

These services package and deliver their on-demand service offerings differently. For example, some services, like Redis for PCF, have one tile, and you configure the tile differently depending on whether you want on-demand service plans or pre-provisioned service plans.

For other services, like PCC, you install one tile for on-demand service plans and a different tile for pre-provisioned service plans.

The following table lists and contrasts the different ways that PCF services package on-demand and pre-provisioned service offerings.

PCF service tile Standalone product related to the service Versions supporting on demand Versions supporting pre-provisioned
RabbitMQ for PCF Pivotal RabbitMQ v1.8 and later All versions
Redis for PCF Redis v1.8 and later All versions
MySQL for PCF MySQL v2.x
(based on Percona Server)
v1.x
(based on MariaDB and Galera)
PCC Pivotal GemFire All versions NA
GemFire for PCF Pivotal GemFire NA All versions

Prepare to Upgrade

Before upgrading to the latest version of MySQL for PCF, do the following:

  1. Confirm that you are on Ops Manager v1.10 or later and are on MySQL for PCF v1.9 or later.

    Ops Manager Version Supported Upgrades from Imported MySQL Installation
    From To
    v1.9.x
    v1.8.xNext v1.8.x
    v1.9.x
    v1.9.xNext v1.9.x
    v1.10.x
    v1.8.xNext v1.8.x
    v1.9.x
    v1.9.xNext v1.9.x
    v1.10.x
    v1.10.xNext v1.10.x
    v1.11.x
    v1.8.xNot supported
    v1.9.xDo not use next v1.9.x
    v1.10.x
    v1.10.xNext v1.10.x
    v1.12.x
    v1.9.xNot Supported
    v1.10.xNext v1.10.x

    For more information about upgrade versions, see the Product Compatibility Matrix.

  2. If you are running in the HA configuration, check the health of the cluster:

    1. Download, configure, and run the mysql-diag tool.
    2. If mysql-diag shows any cluster issues, fix them.
    3. Do not apply changes to the upgrade until the issues have been resolved.
  3. As of v1.9.0, MySQL for PCF enables strict mode. This means that where previously large indices were silently truncated, now ALTER TABLE and CREATE INDEX statements may fail with an error.

    IMPORTANT: If any of your apps already use or want to create indices with more than 767 bytes, then create or alter the apps to use ROW_FORMAT DYNAMIC or ROW_FORMAT COMPRESSED.

    A workaround for failures due to strict mode is to use the IGNORE keyword: this converts the error to a warning.
    For more information about these changes, see MySQL Server Tuning and Defaults.

Table Locks are Now Configurable

In previous releases, Pivotal announced the intent to deprecate table locks for all service bindings. However, Pivotal now leaves this choice up to the operator, for more information, see Allow Table Locks.

Enterprise Readiness by Topology

The table below shows the enterprise-readiness of each MySQL for PCF topology. Consult the Known Issues topic for information about issues in current releases of MySQL for PCF.

Single-NodeHigh Availability (HA)
MySQL1 node3-node cluster
SQL Proxy1 node2 nodes
Service Broker1 node2 nodes
High Availabilityn/aYes
Multi-AZ Supportn/aYes *
Rolling Upgradesn/aYes
Automated BackupsYesYes
Customizable PlansYesYes
Customizable VM InstancesYesYes
Plan MigrationsYesYes
Encrypted CommunicationYes ✝Yes ✝
Encrypted Data at-restn/an/a
Long-lived Canariesn/aReplication Canary

(*) vSphere and AWS (1.8.0-edge.15 and later)
(✝) Requires IPSEC BOSH plug-in

High Availability Limitations

When deployed in HA topology, MySQL for PCF runs three master nodes. This cluster arrangement imposes some limitations that you should be aware of, which do not apply to single-node MySQL database servers.

  • Although two proxy instances are deployed by default, there is no automation to direct clients from one to the other. See the note in the Proxy section, as well as the entry in Known Issues.
  • MySQL for PCF only supports the InnoDB storage engine; it is the default storage engine for new tables. Pre-existing tables that are not InnoDB are at risk because they are not replicated within a cluster.
  • The database servers are shared, managed by multi-tenant processes to serve apps across the PCF deployment. Although data is securely isolated between tenants using unique credentials, app performance may be impacted by noisy neighbors.
  • Round-trip latency between database nodes must be less than five seconds. Latency exceeding this results in a network partition. If more than half of the nodes are partitioned, the cluster loses quorum and become unusable until manually bootstrapped.
  • See also the list of Known Limitations in MariaDB cluster.

Release Notes

Consult the Release Notes for information about changes between versions of this product.

Known Issues

Consult the Known Issues topic for information about issues in current releases of MySQL for PCF.

Feedback

Please provide any bugs, feature requests, or questions to the Pivotal Cloud Foundry Feedback list.

Create a pull request or raise an issue on the source for this page in GitHub