From 76bf56d324e2dd9788029dd9141c465c60992163 Mon Sep 17 00:00:00 2001 From: Dorota Wojcik Date: Thu, 5 Mar 2026 14:55:17 +0100 Subject: [PATCH 01/12] mysql upgrade to 8.4 --- docs/platform/concepts/service_backups.md | 4 ++-- docs/platform/reference/eol-for-major-versions.md | 2 +- docs/products/mysql.md | 2 +- docs/products/mysql/concepts/mysql-memory-usage.md | 7 +++---- docs/products/mysql/concepts/mysql-replication.md | 2 +- .../mysql/concepts/mysql-tuning-and-concurrency.md | 2 +- docs/products/mysql/get-started.md | 6 +++--- docs/products/mysql/howto/connect-from-cli.md | 4 ++-- docs/products/mysql/howto/connect-with-java.md | 6 +++--- docs/products/mysql/howto/connect-with-php.md | 2 +- .../mysql/howto/create-missing-primary-keys.md | 2 +- .../mysql/howto/disable-foreign-key-checks.md | 6 +++--- .../mysql/howto/migrate-database-mysqldump.md | 12 ++++++------ .../mysql/howto/migrate-db-to-aiven-via-console.md | 2 +- .../mysql/howto/migrate-from-external-mysql.md | 2 +- .../mysql/howto/mysql-long-running-queries.md | 4 ++-- docs/products/mysql/howto/reclaim-disk-space.md | 4 ++-- docs/tools/cli/service-cli.md | 2 +- 18 files changed, 35 insertions(+), 36 deletions(-) diff --git a/docs/platform/concepts/service_backups.md b/docs/platform/concepts/service_backups.md index 11545502f..ecedb621f 100644 --- a/docs/platform/concepts/service_backups.md +++ b/docs/platform/concepts/service_backups.md @@ -31,7 +31,7 @@ backups with the appropriate tooling: - [PostgreSQL®](https://www.postgresql.org/docs/current/app-pgdump.html): `pgdump` -- [MySQL®](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) +- [MySQL®](https://dev.mysql.com/doc/refman/8.4/en/mysqldump.html) - `mysqldump` for small or medium-sized databases - [`mydumper`](https://github.com/mydumper/mydumper) for large databases @@ -251,7 +251,7 @@ internally for taking full (or incremental) snapshots for MySQL. For manual backups and migrations, you can use: -- [`mysqldump`](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) for small or +- [`mysqldump`](https://dev.mysql.com/doc/refman/8.4/en/mysqldump.html) for small or medium-sized databases - [`mydumper`](https://github.com/mydumper/mydumper) for large databases diff --git a/docs/platform/reference/eol-for-major-versions.md b/docs/platform/reference/eol-for-major-versions.md index 498ae2909..4193828df 100644 --- a/docs/platform/reference/eol-for-major-versions.md +++ b/docs/platform/reference/eol-for-major-versions.md @@ -182,7 +182,7 @@ To support this transition, Aiven has extended support for Apache Kafka 3.8 by o | Version | Aiven EOL | | ------- | --------------- | -| 8.0.35 | To be announced | +| 8.4.x | To be announced | ### Aiven for Valkey™ diff --git a/docs/products/mysql.md b/docs/products/mysql.md index 51f466488..d68197e5d 100644 --- a/docs/products/mysql.md +++ b/docs/products/mysql.md @@ -21,7 +21,7 @@ a MySQL that you can use. - [Aiven.io](https://aiven.io/mysql) - [MySQL proprietary - documentation](https://dev.mysql.com/doc/refman/8.0/en/) (upstream + documentation](https://dev.mysql.com/doc/refman/8.4/en/) (upstream project documentation) - [Blog post about MyHoard](https://aiven.io/blog/introducing-myhoard-your-single-solution-to-mysql-backups-and-restoration), diff --git a/docs/products/mysql/concepts/mysql-memory-usage.md b/docs/products/mysql/concepts/mysql-memory-usage.md index b714f1504..c3e5f70c6 100644 --- a/docs/products/mysql/concepts/mysql-memory-usage.md +++ b/docs/products/mysql/concepts/mysql-memory-usage.md @@ -23,8 +23,7 @@ pages from disk. When there are no more free pages in the pool, older pages must be evicted and if they were modified, synchronized back to disk (checkpointing). -The [MySQL 8.0 -Reference](https://dev.mysql.com/doc/refman/8.0/en/innodb-buffer-pool.html) +The [MySQL Reference](https://dev.mysql.com/doc/refman/8.4/en/innodb-buffer-pool.html) says: ``` @@ -35,7 +34,7 @@ processing. ``` And [How MySQL Uses -Memory](https://dev.mysql.com/doc/refman/8.0/en/memory-use.html) says: +Memory](https://dev.mysql.com/doc/refman/8.4/en/memory-use.html) says: ``` InnoDB allocates memory for the entire buffer pool at server startup, @@ -53,7 +52,7 @@ improve performance of database operations. An explanation of these various buffers (or code areas) can be found in the MySQL documentation: [How MySQL Uses -Memory](https://dev.mysql.com/doc/refman/8.0/en/memory-use.html). +Memory](https://dev.mysql.com/doc/refman/8.4/en/memory-use.html). Using a 4 GB service as an example, a view of the global buffers shows what memory has been allocated: diff --git a/docs/products/mysql/concepts/mysql-replication.md b/docs/products/mysql/concepts/mysql-replication.md index d15513ce8..80583be1e 100644 --- a/docs/products/mysql/concepts/mysql-replication.md +++ b/docs/products/mysql/concepts/mysql-replication.md @@ -13,7 +13,7 @@ contains full details of all changes in itself. For these reasons, Aiven uses row format by default. Read more about the comparison between MySQL statement based and row based replication on the [Advantages and Disadvantages of Statement-Based and Row-Based -Replication](https://dev.mysql.com/doc/refman/8.0/en/replication-sbr-rbr.html) +Replication](https://dev.mysql.com/doc/refman/8.4/en/replication-sbr-rbr.html) article. The row based replication works very well as long as the tables being diff --git a/docs/products/mysql/concepts/mysql-tuning-and-concurrency.md b/docs/products/mysql/concepts/mysql-tuning-and-concurrency.md index 7db08af23..f104b9f2a 100644 --- a/docs/products/mysql/concepts/mysql-tuning-and-concurrency.md +++ b/docs/products/mysql/concepts/mysql-tuning-and-concurrency.md @@ -37,7 +37,7 @@ operations.** An explanation of these various buffers (or code areas) can be found in the MySQL documentation: [How MySQL Uses -Memory](https://dev.mysql.com/doc/refman/8.0/en/memory-use.html). +Memory](https://dev.mysql.com/doc/refman/8.4/en/memory-use.html). ```sql SELECT SUBSTRING_INDEX(event_name,'/',2) AS code_area, diff --git a/docs/products/mysql/get-started.md b/docs/products/mysql/get-started.md index b924bad48..e75ac4f9a 100644 --- a/docs/products/mysql/get-started.md +++ b/docs/products/mysql/get-started.md @@ -21,7 +21,7 @@ Start using Aiven for MySQL® by creating a service, connecting to it, and loadi - Access to the [Aiven Console](https://console.aiven.io) -- [MySQL CLI client](https://dev.mysql.com/doc/refman/8.0/en/mysql.html) +- [MySQL CLI client](https://dev.mysql.com/doc/refman/8.4/en/mysql.html) installed @@ -29,7 +29,7 @@ Start using Aiven for MySQL® by creating a service, connecting to it, and loadi - [Terraform installed](https://www.terraform.io/downloads) - A [personal token](https://docs.aiven.io/docs/platform/howto/create_authentication_token.html) -- [MySQL CLI client](https://dev.mysql.com/doc/refman/8.0/en/mysql.html) +- [MySQL CLI client](https://dev.mysql.com/doc/refman/8.4/en/mysql.html) installed @@ -141,7 +141,7 @@ using the outputs. [Connect to your new service](/docs/products/mysql/howto/connect-from-cli) with -[mysql](https://dev.mysql.com/doc/refman/8.0/en/mysql.html). +[mysql](https://dev.mysql.com/doc/refman/8.4/en/mysql.html). diff --git a/docs/products/mysql/howto/connect-from-cli.md b/docs/products/mysql/howto/connect-from-cli.md index 464cd9e80..3b79b8ee1 100644 --- a/docs/products/mysql/howto/connect-from-cli.md +++ b/docs/products/mysql/howto/connect-from-cli.md @@ -22,7 +22,7 @@ These are the placeholders to replace in the code sample: For this example you need the `mysqlsh` client installed. You can install this by following the [MySQL shell installation -documentation](https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-install.html). +documentation](https://dev.mysql.com/doc/mysql-shell/8.4/en/mysql-shell-install.html). ### Code @@ -62,7 +62,7 @@ These are the placeholders to replace in the code sample: For this example you need the `mysql` client installed. You can install it by following the [MySQL client installation -documentation](https://dev.mysql.com/doc/refman/8.0/en/mysql.html). +documentation](https://dev.mysql.com/doc/refman/8.4/en/mysql.html). ### Code diff --git a/docs/products/mysql/howto/connect-with-java.md b/docs/products/mysql/howto/connect-with-java.md index 6a5849669..843fb8b40 100644 --- a/docs/products/mysql/howto/connect-with-java.md +++ b/docs/products/mysql/howto/connect-with-java.md @@ -27,7 +27,7 @@ Replace the following placeholders in the code sample: - Using maven: ```bash - mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -Dartifact=mysql:mysql-connector-java:8.0.28:jar -Ddest=mysql-driver-8.0.28.jar + mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -Dartifact=com.mysql:mysql-connector-j:8.4.0:jar -Ddest=mysql-connector-j-8.4.0.jar ``` ## Code @@ -43,14 +43,14 @@ Run the code after replacement of the placeholders with values for your project: ``` -javac MySqlExample.java && java -cp "mysql-driver-8.0.28.jar;." MySqlExample -host MYSQL_HOST -port MYSQL_PORT -database MYSQL_DATABASE -username avnadmin -password MYSQL_PASSWORD +javac MySqlExample.java && java -cp "mysql-connector-j-8.4.0.jar;." MySqlExample -host MYSQL_HOST -port MYSQL_PORT -database MYSQL_DATABASE -username avnadmin -password MYSQL_PASSWORD ``` If the script runs successfully, the output will be the values that were inserted into the table: ```text -Version: 8.0.26 +Version: 8.4.0 ``` Now that your application is connected, you are all set to use Java with diff --git a/docs/products/mysql/howto/connect-with-php.md b/docs/products/mysql/howto/connect-with-php.md index 53a6597b1..13c723a98 100644 --- a/docs/products/mysql/howto/connect-with-php.md +++ b/docs/products/mysql/howto/connect-with-php.md @@ -63,5 +63,5 @@ If the script runs successfully, the output is the MySQL version running in your service like: ``` -8.0.28 +8.4.0 ``` diff --git a/docs/products/mysql/howto/create-missing-primary-keys.md b/docs/products/mysql/howto/create-missing-primary-keys.md index 689d936aa..f39894742 100644 --- a/docs/products/mysql/howto/create-missing-primary-keys.md +++ b/docs/products/mysql/howto/create-missing-primary-keys.md @@ -59,7 +59,7 @@ ALTER TABLE person ADD PRIMARY KEY (social_security_number); You don't have to explicitly define it as UNIQUE, [as the primary key is always unique in -MySQL](https://dev.mysql.com/doc/refman/8.0/en/primary-key-optimization.html). +MySQL](https://dev.mysql.com/doc/refman/8.4/en/primary-key-optimization.html). ## Example: add a new separate id column diff --git a/docs/products/mysql/howto/disable-foreign-key-checks.md b/docs/products/mysql/howto/disable-foreign-key-checks.md index 4af1fb156..3d902cc5d 100644 --- a/docs/products/mysql/howto/disable-foreign-key-checks.md +++ b/docs/products/mysql/howto/disable-foreign-key-checks.md @@ -16,7 +16,7 @@ foreign key checking for the duration of a session. - The `mysqlsh` client installed. You can install this by following the MySQL shell installation - [documentation](https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-install.html). + [documentation](https://dev.mysql.com/doc/mysql-shell/8.4/en/mysql-shell-install.html). - An Aiven account with an Aiven for MySQL service running. ## Variables @@ -128,6 +128,6 @@ Read the official documentation to understand possible implications that can happen when disabling foreign key checks in your service. - [Foreign Key - Checks](https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html#foreign-key-checks). + Checks](https://dev.mysql.com/doc/refman/8.4/en/create-table-foreign-keys.html#foreign-key-checks). - [Server System - Variables](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_foreign_key_checks). + Variables](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_foreign_key_checks). diff --git a/docs/products/mysql/howto/migrate-database-mysqldump.md b/docs/products/mysql/howto/migrate-database-mysqldump.md index e9f03467f..7f502c6cc 100644 --- a/docs/products/mysql/howto/migrate-database-mysqldump.md +++ b/docs/products/mysql/howto/migrate-database-mysqldump.md @@ -11,7 +11,7 @@ import EarlyBadge from "@site/src/components/Badges/EarlyBadge"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -Copy your Aiven for MySQL® data to a file, back it up to another Aiven for MySQL database, and restore it using [`mysqldump/restore`](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) or [`mydumper/myloader`](https://github.com/mydumper/mydumper). +Copy your Aiven for MySQL® data to a file, back it up to another Aiven for MySQL database, and restore it using [`mysqldump/restore`](https://dev.mysql.com/doc/refman/8.4/en/mysqldump.html) or [`mydumper/myloader`](https://github.com/mydumper/mydumper). @@ -24,7 +24,7 @@ memory capacity to process data migration without resource exhaustion or downtim - [`mysqldump` tool](https://dev.mysql.com/doc/refman/8.4/en/mysqldump.html): - [install](https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-install.html) if + [install](https://dev.mysql.com/doc/mysql-shell/8.4/en/mysql-shell-install.html) if missing - Source database to copy your data from: `source-db` - Target database to dump your `source-db` data to: `target-db` @@ -94,16 +94,16 @@ having the prompt request for the password is more secure than including the password straight away in the command. The `--single-transaction` -[flag](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_single-transaction) +[flag](https://dev.mysql.com/doc/refman/8.4/en/mysqldump.html#option_mysqldump_single-transaction) starts a transaction in isolation mode `REPEATABLE READ` before running. This allows `mysqldump` to read the database in its current state at the time of the transaction, ensuring consistency of the data. :::warning If you are using [Global Transaction -Identifiers](https://dev.mysql.com/doc/refman/5.7/en/replication-gtids-concepts.html) +Identifiers](https://dev.mysql.com/doc/refman/8.4/en/replication-gtids-concepts.html) (GTIDs) with InnoDB use the `--set-gtid-purged=OFF` -[option](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_set-gtid-purged). +[option](https://dev.mysql.com/doc/refman/8.4/en/mysqldump.html#option_mysqldump_set-gtid-purged). The reason is that GTID's are not available with MyISAM. ::: @@ -233,7 +233,7 @@ myloader \ When the password is requested at the prompt, paste `TARGET_DB_PASSWORD` into the terminal. When the restore or load process is complete and the data is stored in your `target-db`, you can use the -[`mysqlcheck` command](https://dev.mysql.com/doc/refman/8.0/en/mysqlcheck.html) to +[`mysqlcheck` command](https://dev.mysql.com/doc/refman/8.4/en/mysqlcheck.html) to perform data analysis. diff --git a/docs/products/mysql/howto/migrate-db-to-aiven-via-console.md b/docs/products/mysql/howto/migrate-db-to-aiven-via-console.md index e596ccd8f..af2eb5013 100644 --- a/docs/products/mysql/howto/migrate-db-to-aiven-via-console.md +++ b/docs/products/mysql/howto/migrate-db-to-aiven-via-console.md @@ -110,7 +110,7 @@ migration wizard. To continue with the migration, the wizard allows you to selec To make sure you have GTID enabled, open your `my.cnf` file in `/etc/my.cnf` or `/etc/mysql/my.cnf`. If this file cannot be found, see [more potential locations in the MySQL - documentation](https://dev.mysql.com/doc/refman/8.0/en/option-files.html). + documentation](https://dev.mysql.com/doc/refman/8.4/en/option-files.html). 1. Ensure the `my.cnf` file has the `[mysqld]` header. diff --git a/docs/products/mysql/howto/migrate-from-external-mysql.md b/docs/products/mysql/howto/migrate-from-external-mysql.md index ec424b510..73c3f4713 100644 --- a/docs/products/mysql/howto/migrate-from-external-mysql.md +++ b/docs/products/mysql/howto/migrate-from-external-mysql.md @@ -42,7 +42,7 @@ replication feature. between the source and target servers. - You have a user account on the source server with sufficient privileges to create a user for the replication process. -- [GTID](https://dev.mysql.com/doc/refman/8.0/en/replication-gtids.html) is enabled on the +- [GTID](https://dev.mysql.com/doc/refman/8.4/en/replication-gtids.html) is enabled on the source database. Review the current GTID setting by running the following command on the source cluster: diff --git a/docs/products/mysql/howto/mysql-long-running-queries.md b/docs/products/mysql/howto/mysql-long-running-queries.md index e8d3c89a1..e465f8509 100644 --- a/docs/products/mysql/howto/mysql-long-running-queries.md +++ b/docs/products/mysql/howto/mysql-long-running-queries.md @@ -35,7 +35,7 @@ SHOW PROCESSLIST WHERE command = 'Query' AND info NOT LIKE '%PROCESSLIST%'; You can learn more about the `SHOW PROCESSLIST` command from the [official -documentation](https://dev.mysql.com/doc/refman/8.0/en/show-processlist.html). +documentation](https://dev.mysql.com/doc/refman/8.4/en/show-processlist.html). You can terminate a query manually using: @@ -47,4 +47,4 @@ where the `pid` is the process ID output by the `SHOW PROCESSLIST` command above. You can learn more about the `KILL QUERY` command from the [MySQL KILL -documentation](https://dev.mysql.com/doc/refman/8.0/en/kill.html). +documentation](https://dev.mysql.com/doc/refman/8.4/en/kill.html). diff --git a/docs/products/mysql/howto/reclaim-disk-space.md b/docs/products/mysql/howto/reclaim-disk-space.md index e046e5b84..3da59024b 100644 --- a/docs/products/mysql/howto/reclaim-disk-space.md +++ b/docs/products/mysql/howto/reclaim-disk-space.md @@ -6,10 +6,10 @@ You can configure InnoDB to release disk space back to the operating system by r :::note [Under certain -conditions](https://dev.mysql.com/doc/refman/8.0/en/optimize-table.html#optimize-table-innodb-details) +conditions](https://dev.mysql.com/doc/refman/8.4/en/optimize-table.html#optimize-table-innodb-details) (for example, including the presence of a `FULLTEXT` index), command `OPTIMIZE TABLE` -[copies](https://dev.mysql.com/doc/refman/8.0/en/alter-table.html) +[copies](https://dev.mysql.com/doc/refman/8.4/en/alter-table.html) the data to a new table containing just the current data, and drops and renames the new table to match the old one. During this process, data modification is blocked. This requires enough free space to store diff --git a/docs/tools/cli/service-cli.md b/docs/tools/cli/service-cli.md index 4e98a5d7a..f55f5af8f 100644 --- a/docs/tools/cli/service-cli.md +++ b/docs/tools/cli/service-cli.md @@ -403,7 +403,7 @@ retrievable includes: for Aiven for PostgreSQL services. - the `performance_schema.events_statements_summary_by_digest` (refer to [documentation on the events information from the performance - schema](https://dev.mysql.com/doc/refman/8.0/en/performance-schema-statement-summary-tables.html)) + schema](https://dev.mysql.com/doc/refman/8.4/en/performance-schema-statement-summary-tables.html)) for Aiven for MySQL services. A description of the retrieved columns for Aiven for PostgreSQL can be From 3f999ae87a0634dcd2d9bd930ee97f9fe185c2cb Mon Sep 17 00:00:00 2001 From: Dorota Wojcik Date: Thu, 5 Mar 2026 21:45:04 +0100 Subject: [PATCH 02/12] feedback --- docs/platform/reference/eol-for-major-versions.md | 15 ++++++++------- docs/products/mysql/howto/connect-with-java.md | 6 +++--- docs/products/mysql/howto/connect-with-php.md | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/docs/platform/reference/eol-for-major-versions.md b/docs/platform/reference/eol-for-major-versions.md index 4193828df..af10be45b 100644 --- a/docs/platform/reference/eol-for-major-versions.md +++ b/docs/platform/reference/eol-for-major-versions.md @@ -90,6 +90,13 @@ After the EOL date: ## Aiven multi-versioned services EOL +### Aiven for MySQL® + +| Version | Aiven EOL | Service creation supported until | Service creation supported from | +| ------- | ----------------- | ---------------------------------- | ------------------------------- | +| 8.0.x | 2026-10-31 | 2026-10-31 | 2018-05-18 | +| 8.4.x | 2032-05-30 | 2032-05-30 | 2026-05-30 | + ### Aiven for OpenSearch® Aiven for OpenSearch® is the open source continuation of the original @@ -105,7 +112,7 @@ dependent on the upstream project. ### Aiven for PostgreSQL® -Aiven for PostgreSQL® major versions will reach EOL on the same date as +Aiven for PostgreSQL® major versions reach EOL on the same date as the upstream open source project's EOL. | Version | Aiven EOL | Service creation supported until | Service creation supported from | @@ -178,12 +185,6 @@ To support this transition, Aiven has extended support for Apache Kafka 3.8 by o | ------- | --------------- | | 11.6.5 | To be announced | -### Aiven for MySQL® - -| Version | Aiven EOL | -| ------- | --------------- | -| 8.4.x | To be announced | - ### Aiven for Valkey™ | Version | Aiven EOL | diff --git a/docs/products/mysql/howto/connect-with-java.md b/docs/products/mysql/howto/connect-with-java.md index 843fb8b40..03ef5ea6a 100644 --- a/docs/products/mysql/howto/connect-with-java.md +++ b/docs/products/mysql/howto/connect-with-java.md @@ -27,7 +27,7 @@ Replace the following placeholders in the code sample: - Using maven: ```bash - mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -Dartifact=com.mysql:mysql-connector-j:8.4.0:jar -Ddest=mysql-connector-j-8.4.0.jar + mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -Dartifact=com.mysql:mysql-connector-j:8.4.8:jar -Ddest=mysql-connector-j-8.4.8.jar ``` ## Code @@ -43,14 +43,14 @@ Run the code after replacement of the placeholders with values for your project: ``` -javac MySqlExample.java && java -cp "mysql-connector-j-8.4.0.jar;." MySqlExample -host MYSQL_HOST -port MYSQL_PORT -database MYSQL_DATABASE -username avnadmin -password MYSQL_PASSWORD +javac MySqlExample.java && java -cp "mysql-connector-j-8.4.8.jar;." MySqlExample -host MYSQL_HOST -port MYSQL_PORT -database MYSQL_DATABASE -username avnadmin -password MYSQL_PASSWORD ``` If the script runs successfully, the output will be the values that were inserted into the table: ```text -Version: 8.4.0 +Version: 8.4.8 ``` Now that your application is connected, you are all set to use Java with diff --git a/docs/products/mysql/howto/connect-with-php.md b/docs/products/mysql/howto/connect-with-php.md index 13c723a98..86e954ba7 100644 --- a/docs/products/mysql/howto/connect-with-php.md +++ b/docs/products/mysql/howto/connect-with-php.md @@ -63,5 +63,5 @@ If the script runs successfully, the output is the MySQL version running in your service like: ``` -8.4.0 +8.4.8 ``` From ab41c8b4aa7c0014d49c249fdd6106517faff441 Mon Sep 17 00:00:00 2001 From: Dorota Wojcik Date: Fri, 6 Mar 2026 08:32:15 +0100 Subject: [PATCH 03/12] multiversion support --- .../mysql/howto/manage-mysql-version.md | 222 ++++++++++++++++++ sidebars.ts | 1 + 2 files changed, 223 insertions(+) create mode 100644 docs/products/mysql/howto/manage-mysql-version.md diff --git a/docs/products/mysql/howto/manage-mysql-version.md b/docs/products/mysql/howto/manage-mysql-version.md new file mode 100644 index 000000000..45096e624 --- /dev/null +++ b/docs/products/mysql/howto/manage-mysql-version.md @@ -0,0 +1,222 @@ +--- +title: Manage Aiven for MySQL® versions +sidebar_label: Manage version +--- + +import RelatedPages from "@site/src/components/RelatedPages"; +import ConsoleLabel from "@site/src/components/ConsoleIcons"; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Aiven for MySQL® supports multiple versions of MySQL running concurrently in the platform. Choose a version that best fits your needs and upgrade your service when ready. + +## Multi-version support + +Starting from version 8.4, Aiven for MySQL supports +[two latest upstream MySQL versions](/docs/platform/reference/eol-for-major-versions#aiven-for-mysql) +at a time. Both versions are generally available and can be selected when creating a new +service or upgrading an existing service. + +## Before you upgrade + +### Available or upcoming upgrades + +Track upgrades for your service via: + +- [Aiven Console](https://console.aiven.io): Service + page > **Maintenance** section > List of available mandatory and optional upgrades +- Email: notifications for automated upgrades + +### Downgrade restriction + +Downgrading to a previous version is not supported due to potential data format +incompatibilities. Always test upgrades in a non-production environment first. + +To revert to a previous version: + +1. Create a service with the desired version. +1. Restore data from a backup taken before the upgrade. +1. Update your application connection strings. + +### Prerequisites for upgrade + +Before upgrading your service: + +- **Test in development**: Test the upgrade in a development environment first. +- **Backup your data**: Ensure you have recent backups. Backups are automatic, but verify + they exist. + +To upgrade your service version, check that: + +- Your Aiven for MySQL service is running. +- Target version to upgrade to is + [available for manual upgrade](/docs/products/mysql/howto/manage-mysql-version#available-or-upcoming-upgrades). +- You can use one of the following tools to upgrade: + - [Aiven Console](https://console.aiven.io/) + - [Aiven CLI](/docs/tools/cli) + - [Aiven API](/docs/tools/api) + - [Aiven Provider for Terraform](/docs/tools/terraform) + - [Aiven Operator for Kubernetes®](/docs/tools/kubernetes) + +## Upgrade your service + + + + +1. In the [Aiven Console](https://console.aiven.io/), go to your MySQL service. +1. On the page, go to the **Maintenance** section. +1. Click > **Upgrade version**. +1. Select a version to upgrade to. + + :::warning + When you click **Upgrade**: + - The system applies the upgrade immediately. + - You cannot downgrade the service to a previous version. + ::: + +1. Click **Upgrade**. + + + + +Upgrade the service version using the +[avn service update](https://aiven.io/docs/tools/cli/service-cli#avn-cli-service-update) +command: + +```bash +avn service update SERVICE_NAME -c mysql_version="N.N" +``` + +Parameters: + +- `SERVICE_NAME`: Name of your service +- `N.N`: Target service version to upgrade to, for example `9.0` + + + + +Call the [ServiceUpdate](https://api.aiven.io/doc/#tag/Service/operation/ServiceUpdate) +endpoint to set `mysql_version`: + +```bash +curl --request PUT \ + --url https://api.aiven.io/v1/project/PROJECT_NAME/service/SERVICE_NAME \ + --header 'Authorization: Bearer BEARER_TOKEN' \ + --header 'Content-Type: application/json' \ + --data '{ + "user_config": { + "mysql_version": "N.N" + } + }' +``` + +Parameters: + +- `PROJECT_NAME`: Name of your project +- `SERVICE_NAME`: Name of your service +- `BEARER_TOKEN`: Your API authentication token +- `N.N`: Target service version to upgrade to, for example `9.0` + + + + +Use the +[`aiven_mysql`](https://registry.terraform.io/providers/aiven/aiven/latest/docs/resources/mysql) +resource to set +[`mysql_version`](https://registry.terraform.io/providers/aiven/aiven/latest/docs/resources/mysql#mysql_version-1): + +```hcl +resource "aiven_mysql" "example" { + project = var.PROJECT_NAME + cloud_name = "CLOUD_NAME" + plan = "PLAN_NAME" + service_name = "SERVICE_NAME" + + mysql_user_config { + mysql_version = "N.N" + } +} +``` + +Parameters: + +- `PROJECT_NAME`: Name of your project +- `CLOUD_NAME`: Cloud region identifier +- `PLAN_NAME`: Service plan +- `SERVICE_NAME`: Name of your service +- `N.N`: Target service version to upgrade to, for example `9.0` + + + + +Use the +[MySQL](https://aiven.github.io/aiven-operator/resources/mysql.html) +resource to set +[`mysql_version`](https://aiven.github.io/aiven-operator/resources/mysql.html#spec.userConfig.mysql_version-property): + +```yaml +apiVersion: aiven.io/v1alpha1 +kind: MySQL +metadata: + name: SERVICE_NAME +spec: + authSecretRef: + name: aiven-token + key: token + + connInfoSecretTarget: + name: mysql-connection + + project: PROJECT_NAME + cloudName: CLOUD_NAME + plan: PLAN_NAME + + userConfig: + mysql_version: "N.N" +``` + +Apply the updated configuration: + +```bash +kubectl apply -f mysql-service.yaml +``` + +Parameters: + +- `PROJECT_NAME`: Name of your project +- `SERVICE_NAME`: Name of your service +- `CLOUD_NAME`: Cloud region identifier +- `PLAN_NAME`: Service plan +- `N.N`: Target service version to upgrade to, for example `9.0` + + + + +## Version selection for new services + +When creating an Aiven for MySQL service: + +- **Default version**: The platform uses the latest stable version by default. +- **Explicit selection**: You can specify a version using the `mysql_version` parameter. +- **Version availability**: Only versions in `available` state can be selected. + +Example (CLI): + +```bash +avn service create SERVICE_NAME \ + --service-type mysql \ + --plan PLAN_NAME \ + --cloud CLOUD_NAME \ + -c mysql_version="N.N" +``` + +Parameters: + +- `SERVICE_NAME`: Name of your service +- `PLAN_NAME`: Service plan +- `CLOUD_NAME`: Cloud region identifier +- `N.N`: Service version, for example `8.1` + + + +[Service maintenance](/docs/platform/concepts/maintenance-window) diff --git a/sidebars.ts b/sidebars.ts index b8db9b047..a33b1708f 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -1497,6 +1497,7 @@ const sidebars: SidebarsConfig = { items: [ 'products/mysql/howto/create-database', 'products/mysql/howto/ai-insights', + 'products/mysql/howto/manage-mysql-version', 'products/mysql/howto/create-remote-replica', 'products/mysql/howto/use-incremental-backups', 'products/mysql/howto/migrate-database-mysqldump', From 9d03e0ad2e35c4cab90d8e274f5ba3b3b15b648e Mon Sep 17 00:00:00 2001 From: Dorota Wojcik Date: Fri, 6 Mar 2026 09:00:34 +0100 Subject: [PATCH 04/12] fixes --- .../mysql/howto/manage-mysql-version.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/docs/products/mysql/howto/manage-mysql-version.md b/docs/products/mysql/howto/manage-mysql-version.md index 45096e624..a9cd19378 100644 --- a/docs/products/mysql/howto/manage-mysql-version.md +++ b/docs/products/mysql/howto/manage-mysql-version.md @@ -1,6 +1,6 @@ --- title: Manage Aiven for MySQL® versions -sidebar_label: Manage version +sidebar_label: Upgrade service version --- import RelatedPages from "@site/src/components/RelatedPages"; @@ -10,12 +10,16 @@ import TabItem from '@theme/TabItem'; Aiven for MySQL® supports multiple versions of MySQL running concurrently in the platform. Choose a version that best fits your needs and upgrade your service when ready. -## Multi-version support +## Supported MySQL versions -Starting from version 8.4, Aiven for MySQL supports -[two latest upstream MySQL versions](/docs/platform/reference/eol-for-major-versions#aiven-for-mysql) -at a time. Both versions are generally available and can be selected when creating a new -service or upgrading an existing service. +From version 8.4, Aiven for MySQL supports two major upstream MySQL versions at a time. +These are the two latest stable major versions on the Aiven Platform. +You can select either version when you create a service or upgrade an existing service. +If you do not select a version, the default is the latest stable version on the Aiven +Platform. + +See the supported versions in the +[Aiven for MySQL version reference](/docs/platform/reference/eol-for-major-versions#aiven-for-mysql). ## Before you upgrade @@ -196,7 +200,8 @@ Parameters: When creating an Aiven for MySQL service: -- **Default version**: The platform uses the latest stable version by default. +- **Default version**: The latest stable version on the Aiven Platform is the default + version. - **Explicit selection**: You can specify a version using the `mysql_version` parameter. - **Version availability**: Only versions in `available` state can be selected. From 37c0ddeafc61d4230cd4ec0b0e7ad51a5d5de7dd Mon Sep 17 00:00:00 2001 From: Dorota Wojcik Date: Fri, 6 Mar 2026 09:38:59 +0100 Subject: [PATCH 05/12] feedback --- docs/products/mysql/howto/manage-mysql-version.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/mysql/howto/manage-mysql-version.md b/docs/products/mysql/howto/manage-mysql-version.md index a9cd19378..20e8829cf 100644 --- a/docs/products/mysql/howto/manage-mysql-version.md +++ b/docs/products/mysql/howto/manage-mysql-version.md @@ -13,7 +13,7 @@ Aiven for MySQL® supports multiple versions of MySQL running concurrently in th ## Supported MySQL versions From version 8.4, Aiven for MySQL supports two major upstream MySQL versions at a time. -These are the two latest stable major versions on the Aiven Platform. +These are the two latest major versions that are stable on the Aiven Platform. You can select either version when you create a service or upgrade an existing service. If you do not select a version, the default is the latest stable version on the Aiven Platform. From de2aa64ed6ee3281145942ad67dd6f5017319038 Mon Sep 17 00:00:00 2001 From: Dorota Wojcik Date: Fri, 6 Mar 2026 10:04:04 +0100 Subject: [PATCH 06/12] versions preview --- docs/products/mysql/howto/manage-mysql-version.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/docs/products/mysql/howto/manage-mysql-version.md b/docs/products/mysql/howto/manage-mysql-version.md index 20e8829cf..e349227d1 100644 --- a/docs/products/mysql/howto/manage-mysql-version.md +++ b/docs/products/mysql/howto/manage-mysql-version.md @@ -23,13 +23,18 @@ See the supported versions in the ## Before you upgrade -### Available or upcoming upgrades +### Check available versions -Track upgrades for your service via: +Preview versions available for your service in [Aiven Console](https://console.aiven.io): -- [Aiven Console](https://console.aiven.io): Service - page > **Maintenance** section > List of available mandatory and optional upgrades -- Email: notifications for automated upgrades +- Major versions: Service + page > **Maintenance** section > **Upgrade version** > + Expand the version dropdown list. +- Minor versions: Service + page > **Maintenance** section > See the list of available mandatory and optional + updates. + +For automated upgrades, you get email notifications. ### Downgrade restriction From ede33b5572c5cdd98315cb84abda72ce414b1400 Mon Sep 17 00:00:00 2001 From: Dorota Wojcik Date: Fri, 6 Mar 2026 10:16:38 +0100 Subject: [PATCH 07/12] console flow --- docs/products/mysql/howto/manage-mysql-version.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/products/mysql/howto/manage-mysql-version.md b/docs/products/mysql/howto/manage-mysql-version.md index e349227d1..8219757d6 100644 --- a/docs/products/mysql/howto/manage-mysql-version.md +++ b/docs/products/mysql/howto/manage-mysql-version.md @@ -27,9 +27,9 @@ See the supported versions in the Preview versions available for your service in [Aiven Console](https://console.aiven.io): -- Major versions: Service - page > **Maintenance** section > **Upgrade version** > - Expand the version dropdown list. +- Major versions: Service + page > **Service management** section > > + **Upgrade version** > Expand the version dropdown list. - Minor versions: Service page > **Maintenance** section > See the list of available mandatory and optional updates. @@ -72,10 +72,11 @@ To upgrade your service version, check that: -1. In the [Aiven Console](https://console.aiven.io/), go to your MySQL service. -1. On the page, go to the **Maintenance** section. +1. In the [Aiven Console](https://console.aiven.io/), go to your Aiven for MySQL service. +1. Open the page from the sidebar, and go to the + **Service management** section. 1. Click > **Upgrade version**. -1. Select a version to upgrade to. +1. Expand the version dropdown list, and select a version to upgrade to. :::warning When you click **Upgrade**: From 41241acabf15cf6e385b4a353a8ef275a74b4289 Mon Sep 17 00:00:00 2001 From: Dorota Wojcik Date: Fri, 6 Mar 2026 10:29:00 +0100 Subject: [PATCH 08/12] service forking --- docs/products/mysql/howto/manage-mysql-version.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/products/mysql/howto/manage-mysql-version.md b/docs/products/mysql/howto/manage-mysql-version.md index 8219757d6..d5b8e0516 100644 --- a/docs/products/mysql/howto/manage-mysql-version.md +++ b/docs/products/mysql/howto/manage-mysql-version.md @@ -38,8 +38,8 @@ For automated upgrades, you get email notifications. ### Downgrade restriction -Downgrading to a previous version is not supported due to potential data format -incompatibilities. Always test upgrades in a non-production environment first. +Downgrading to a previous version is not supported due to data format incompatibilities. +Always test upgrades in a non-production environment first. To revert to a previous version: @@ -51,7 +51,8 @@ To revert to a previous version: Before upgrading your service: -- **Test in development**: Test the upgrade in a development environment first. +- **Test in development**: Test the upgrade in a development environment first, for + example, using [service forking](/docs/platform/concepts/service-forking). - **Backup your data**: Ensure you have recent backups. Backups are automatic, but verify they exist. From 921f20ec6f8a201bd8b4b29e69ccc2ed02a4f8ad Mon Sep 17 00:00:00 2001 From: Dorota Wojcik Date: Fri, 6 Mar 2026 10:30:44 +0100 Subject: [PATCH 09/12] service version examples --- docs/products/mysql/howto/manage-mysql-version.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/products/mysql/howto/manage-mysql-version.md b/docs/products/mysql/howto/manage-mysql-version.md index d5b8e0516..6a5551f8f 100644 --- a/docs/products/mysql/howto/manage-mysql-version.md +++ b/docs/products/mysql/howto/manage-mysql-version.md @@ -101,7 +101,7 @@ avn service update SERVICE_NAME -c mysql_version="N.N" Parameters: - `SERVICE_NAME`: Name of your service -- `N.N`: Target service version to upgrade to, for example `9.0` +- `N.N`: Target service version to upgrade to, for example `8.4` @@ -126,7 +126,7 @@ Parameters: - `PROJECT_NAME`: Name of your project - `SERVICE_NAME`: Name of your service - `BEARER_TOKEN`: Your API authentication token -- `N.N`: Target service version to upgrade to, for example `9.0` +- `N.N`: Target service version to upgrade to, for example `8.4` @@ -155,7 +155,7 @@ Parameters: - `CLOUD_NAME`: Cloud region identifier - `PLAN_NAME`: Service plan - `SERVICE_NAME`: Name of your service -- `N.N`: Target service version to upgrade to, for example `9.0` +- `N.N`: Target service version to upgrade to, for example `8.4` @@ -198,7 +198,7 @@ Parameters: - `SERVICE_NAME`: Name of your service - `CLOUD_NAME`: Cloud region identifier - `PLAN_NAME`: Service plan -- `N.N`: Target service version to upgrade to, for example `9.0` +- `N.N`: Target service version to upgrade to, for example `8.4` From ca36a1ba25eda100b4719d45450bed32d035b552 Mon Sep 17 00:00:00 2001 From: Dorota Wojcik Date: Fri, 6 Mar 2026 10:38:31 +0100 Subject: [PATCH 10/12] link fix --- docs/products/mysql/howto/manage-mysql-version.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/mysql/howto/manage-mysql-version.md b/docs/products/mysql/howto/manage-mysql-version.md index 6a5551f8f..392da37bd 100644 --- a/docs/products/mysql/howto/manage-mysql-version.md +++ b/docs/products/mysql/howto/manage-mysql-version.md @@ -60,7 +60,7 @@ To upgrade your service version, check that: - Your Aiven for MySQL service is running. - Target version to upgrade to is - [available for manual upgrade](/docs/products/mysql/howto/manage-mysql-version#available-or-upcoming-upgrades). + [available for manual upgrade](/docs/products/mysql/howto/manage-mysql-version#check-available-versions). - You can use one of the following tools to upgrade: - [Aiven Console](https://console.aiven.io/) - [Aiven CLI](/docs/tools/cli) From 92523cc536c3b8cef1cb326b9487670121e72082 Mon Sep 17 00:00:00 2001 From: Dorota Wojcik Date: Thu, 12 Mar 2026 13:25:08 +0100 Subject: [PATCH 11/12] EA --- docs/products/mysql/howto/manage-mysql-version.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/products/mysql/howto/manage-mysql-version.md b/docs/products/mysql/howto/manage-mysql-version.md index 392da37bd..d28e6f713 100644 --- a/docs/products/mysql/howto/manage-mysql-version.md +++ b/docs/products/mysql/howto/manage-mysql-version.md @@ -1,6 +1,7 @@ --- title: Manage Aiven for MySQL® versions sidebar_label: Upgrade service version +early: true --- import RelatedPages from "@site/src/components/RelatedPages"; @@ -36,7 +37,7 @@ Preview versions available for your service in [Aiven Console](https://console.a For automated upgrades, you get email notifications. -### Downgrade restriction +### Check downgrade restrictions Downgrading to a previous version is not supported due to data format incompatibilities. Always test upgrades in a non-production environment first. From f0d445ba8060a416ddad60b255dd984d09ee195c Mon Sep 17 00:00:00 2001 From: Dorota Wojcik Date: Thu, 12 Mar 2026 14:11:56 +0100 Subject: [PATCH 12/12] 8.0 and 8.4 dates --- docs/platform/reference/eol-for-major-versions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/platform/reference/eol-for-major-versions.md b/docs/platform/reference/eol-for-major-versions.md index af10be45b..45c10172d 100644 --- a/docs/platform/reference/eol-for-major-versions.md +++ b/docs/platform/reference/eol-for-major-versions.md @@ -94,8 +94,8 @@ After the EOL date: | Version | Aiven EOL | Service creation supported until | Service creation supported from | | ------- | ----------------- | ---------------------------------- | ------------------------------- | -| 8.0.x | 2026-10-31 | 2026-10-31 | 2018-05-18 | -| 8.4.x | 2032-05-30 | 2032-05-30 | 2026-05-30 | +| 8.0.x | 2026-10-31 | 2026-04-30 | 2018-05-18 | +| 8.4.x | 2032-10-30 | 2032-04-30 | 2026-04-30 | ### Aiven for OpenSearch®