Skip to main content

3 posts tagged with "datastore"

View All Tags

MySQL 8.4 changes and pre-upgrade checklist for engine upgrades

· 7 min read
Kate (김소희)
Service Manager
MySQL

The MySQL 8.0 series reached its official End of Life (EOL) at the end of April, and security updates and technical support are expected to end going forward. To strengthen service stability and security, KakaoCloud recommends upgrading the engine to MySQL LTS (Long Term Support) 8.4, and supports MySQL Engine Update work through the Maintenance service.

All instance groups currently using the MySQL 8.0 engine can upgrade their engine to version 8.4 by specifying the desired date and time directly. However, because this is a major version update, technical review such as backward compatibility and system variable changes must be performed before the actual work.

Therefore, in this post, we share the major changes and key checklist items that must be reviewed for stable service operation before updating from MySQL 8.0 to the 8.4 series.


Major changes in the MySQL 8.4 series

The 8.4 LTS version includes various default value changes and feature improvements for performance optimization and stronger security.

1. Default authentication plugin changed

The previously used mysql-native-password has been removed, and caching_sha2_password has been set as the default authentication plugin (password plugin).

note

If you need to keep another authentication method or require additional settings, adjust parameters by referring to the official authentication_policy documentation.

2. Parameter default value changes

The table below is excerpted and translated from the official MySQL documentation. In the 8.4 LTS version, default values for major parameters have been significantly changed to maximize system performance.

In particular, resource allocation methods such as InnoDB I/O capacity and log buffer size have been optimized for modern hardware specifications, so be sure to compare them with existing settings before upgrading. For detailed instructions on creating and managing parameter groups, see the separate documentation.

Performance and I/O related changes

ParameterMySQL 8.4MySQL 8.0
innodb_io_capacity10000200
innodb_io_capacity_max2x innodb_io_capacity    Same (minimum default 2000)
innodb_flush_method (Linux)O_DIRECT (fsync if unsupported)fsync
innodb_use_fdatasyncONOFF
innodb_read_io_threads1/2 of logical processors (minimum 4)4
innodb_parallel_read_threads1/8 of logical processors (minimum 4)4

Memory and buffer management

ParameterMySQL 8.4MySQL 8.0
innodb_buffer_pool_instancesinnodb_buffer_pool_size 1 GiB or less1
Over 1 GiB → Automatic calculation based on CPU/chunk (1~64)    
8 (1 if less than 1 GiB)
innodb_log_buffer_size64 MiB (67,108,864)16 MiB (16,777,216)
innodb_buffer_pool_in_core_fileOFF if MADV_DONTDUMP is supported; otherwise ONON
innodb_numa_interleaveONOFF

InnoDB behavior changes

ParameterMySQL 8.4MySQL 8.0
innodb_change_bufferingnone (not used)all
innodb_adaptive_hash_indexOFFON
innodb_page_cleanersSame as innodb_buffer_pool_instances    4
innodb_purge_threadsLogical processors ≤ 16 → 1
Over 16 → 4
4

Doublewrite and log handling

ParameterMySQL 8.4MySQL 8.0
innodb_doublewrite_files22x innodb_buffer_pool_instances
innodb_doublewrite_pages128      innodb_write_io_threads value (default 4)

Automation and server settings

ParameterMySQL 8.4MySQL 8.0
--innodb-dedicated-serverWhen enabled, no flush_method change
Redo log capacity calculation method changed from memory-based to CPU-based    
OFF

TempTable behavior changes

ParameterMySQL 8.4MySQL 8.0
temptable_max_ram3% of total memory (automatically adjusted within 1~4 GiB)    1 GiB (1,073,741,824)
temptable_max_mmap0 (not used)1 GiB
temptable_use_mmapOFFON

3. Automatic histogram update feature added

An automatic histogram update feature for query optimization has been added. In previous versions, histograms had to be updated manually through ANALYZE TABLE, but starting with MySQL 8.4, they are updated automatically depending on conditions.

For detailed application methods, see the ANALYZE TABLE documentation.

4. Replication SQL syntax changed

Replication-related terms have changed from MASTER/SLAVE to SOURCE/REPLICA, and major SQL syntax has changed as follows.

MySQL 8.4MySQL 8.0Function
SHOW BINARY LOG STATUSSHOW MASTER STATUSBinary log position that is the current server's start position (file name, position)
SHOW BINARY LOGSSHOW MASTER LOGSList of binary log files in the server
SHOW REPLICA STATUSSHOW SLAVE STATUSDetailed replication status (IO/SQL threads, delay, and more)
SHOW REPLICASSHOW SLAVE HOSTSList of replicas connected to the current server

Required checklist for a stable upgrade

To prevent server, authentication, and application-related failures that may occur during the upgrade process, be sure to check the following items in advance.

1. MySQL Shell Upgrade Checker

Before upgrading, it is important to use the MySQL Shell utility to carefully review resource compatibility. This tool automatically analyzes the following items and diagnoses stability.

  • Check server settings and schema structure
  • Check compatibility of running SQL queries
  • Detect removed features and conflicts with new reserved words

Through these checks, deprecated options and similar items can be identified in advance, effectively preventing server startup failures or unexpected feature errors that may occur immediately after the upgrade.

2. Check authentication plugin compatibility

When upgrading the MySQL version, the database's default authentication method may change, so authentication plugin compatibility in the current application environment must be checked. In older environments that do not support the latest plugins, login failures may occur immediately after the upgrade.

In particular, check whether the environment supports the latest plugins such as caching_sha2_password. If unsupported, login itself may fail, so you must check the authentication plugin for user accounts in advance and determine whether driver upgrades or plugin changes are needed.

3. Pre-check MySQL Connector (driver)

You must check compatibility between the MySQL connector used by the application and the server version in advance.
Language-specific drivers such as MySQL Connector/J are affected by server version in terms of authentication, protocol, and option compatibility. If old drivers are used, issues such as connection failures, TLS errors, or abnormal query behavior can occur, so driver compatibility must be checked in advance and replaced with the latest version if necessary.


So far, we have reviewed the need to upgrade to MySQL 8.4 LTS following the end of support for MySQL 8.0, the major changes, and the required checklist for a successful transition.

A major version upgrade is more than a simple engine replacement. It is an important opportunity to maximize modern hardware performance and strengthen the security system. However, because there are significant technical changes such as authentication method and driver compatibility, we recommend carefully reviewing them using the MySQL Shell Upgrade Checker and the pre-check guide introduced above.

KakaoCloud is working to provide the optimal environment and technical support so that customers' databases can operate stably without interruption. We hope this post helps you operate services safely. If you have any questions or need support, please contact us anytime through the Helpdesk.

Thank you.

MemStore, KakaoCloud's new in-memory data storage service

· 3 min read
Kate (김소희)
Service Manager
Memstore

Starting in August, KakaoCloud will release MemStore, a new in-memory data storage service, replacing the existing Redis® service. This service name change was decided to respond quickly to the recent Redis® license change and provide users with improved features and stability.

Why MemStore?

In March this year, Redis Labs announced that it would change the existing BSD 3-Clause license to a dual license model called Redis Source Available License v2 (RSALv2) and Server Side Public License v1 (SSPLv1). As a result, a separate license is required to use Redis® commercially, affecting multiple cloud service providers including KakaoCloud.
In response to this change and to provide sustainable service, KakaoCloud is introducing MemStore, a managed cache database service.

Key features and benefits of MemStore

KakaoCloud MemStore preserves the performance and features of the existing Redis® service while including cache database features that will be further expanded in the future.

  • High performance and stability: MemStore stores all data in memory, providing high-speed data access and processing.
  • Automatic backup and restore: Data is periodically backed up to separate storage so it can be easily restored in case of data loss. Snapshot and backup features are provided to protect user data from unexpected situations.
  • Enhanced security: Security features are strengthened in line with the new license model, placing customer data safety first. In addition, virtual private cloud (VPC) network and security group connection features provide a secure database operating environment by controlling access from outside specific IP ranges.
  • Redundant configuration and high availability: High availability is ensured through an Active-Standby redundant configuration. If a failure occurs on the Active server, the Standby server immediately takes over operations to minimize service interruption.

Support for existing users

Redis® service resources of existing KakaoCloud users are automatically converted to MemStore without service impact. In addition, all services that can be used together with Redis® (Cloud Trail, Alert Center, Monitoring, and others) can be used without impact from the MemStore service name change.

Through MemStore, KakaoCloud will work to provide customers with a better service experience and build a sustainable service environment that keeps pace with the latest technology trends.

For more information, see the KakaoCloud website and technical documentation.
Thank you.

Redis® is a trademark of Redis Ltd. MemStore is based on open-source Redis® version 7.2 or earlier.

MySQL service released in the kr-central-2 region

· 2 min read
Sandy (차신영)
Technical Contents Manager
Notice

The following announcement for the MySQL service was written based on information available in September 2023. For the latest information about KakaoCloud MySQL, see MySQL.

Hello, KakaoCloud's MySQL service is now available in the kr-central-2 region.

KakaoCloud MySQL is a fully managed database service built on an open-source relational database management system (RDBMS).

This release of KakaoCloud MySQL includes support for automatic instance recovery, adding read-only instances (read replicas), and high availability.

Key features and supported items of the MySQL service are as follows.

  • High availability and Multi-AZ support: Ensures high availability and lets you create an instance group by selecting subnets through a Multi-AZ configuration.
  • Auto Failover: Supports not only manual failover but also automatic failover. When a system failure occurs, the database can automatically switch to another node to minimize service interruption.
  • MySQL 8.0.34 support: Lets you use the latest features and security updates of MySQL 8.0.34.
  • Support for m2a and r2a instance specifications: Lets you choose an instance that fits your workload and expect resource optimization and performance improvement.

For more information, see the MySQL page.

We will continue working to provide safer and more convenient cloud services.

Thank you.