Community journal

The latest from the MySQL community

Ideas, releases, practical guides, and perspectives from the people building with MySQL.

Follow the feed
Showing entries 1 to 10 of 1335 « Previous | Next »
Displaying posts with tag: mariadb (reset)
Stop guessing at gcache: inspect Galera/PXC write sets with gcache-inspector

The common practice is to size the Galera Cache based on write volume measured during peak load, but often it is more of a guesswork. The writeset cache capacity planning is crucial to shorten the maintenance time and avoid long state transfers while the cluster runs with reduced compute power. Now, if you could understand what’s exactly inside the cache, wouldn’t the planning be more aware as compared to only calculating the best size based on wsrep_received/replicated_bytes variables?

Similarly, while dealing with various incidents occurring in Percona XtraDB Cluster or MariaDB Galera Cluster environments, how many times did you stumble upon the fact that the GCache file (galera.cache) is a black box and you can’t inspect it in a meaningful way? 

In some scenarios, having the opportunity to see what exactly ended up in the cache file(s) could help us understand the write workload impact or what happened …

[Read more]
Inside MySQL 9.7 LTS Features

MySQL 9.7, a Long-Term Support (LTS) release, incorporates a variety of potential features spanning across multiple technical domains. This article covers some of the primary features introduced and evaluates their practical utility within the MySQL database environment.

Following the End-of-Life (EOL) status of MySQL 8.0, this subsequent LTS release is designed to provide enhanced stability alongside significant architectural innovations.

Let’s discuss each of these features below with some examples and usage.

Flow-control monitoring in Group Replication

Flow control monitoring has been improved and provides more granularity by introducing the additional status variables listed below.

  • Gr_flow_control_throttle_count : It denotes the number of transactions that have been throttled.
  • Gr_flow_control_throttle_time_sum :It denotes the time in microseconds that transactions have been …
[Read more]
Running DuckDB as a MySQL 9.7 storage engine

ducksdb-mysql-engine is an experimental build of MySQL 9.7 where a table you mark ENGINE=DuckDB answers analytical queries from DuckDB instead of InnoDB. Same server, same connection, no second copy of the data. On TPC-H at scale factor 10, InnoDB times out on 6 of the 22 queries and burns 1317 seconds on the 16 it finishes. The DuckDB tables run all 22 in about 15 seconds.

It’s an experiment, not production software. It patches mysqld and has rough edges, which we list at the end. Source is on GitHub under GPLv2: https://github.com/Percona-Lab/ducksdb-mysql-engine.

Why we made it

MySQL is great for transactions and slow at analytics. A wide GROUP BY over a few hundred million rows, or a six-way join, takes minutes on InnoDB. The usual fix is to copy the data into a column store and keep it in sync, so now you’re running two …

[Read more]
Auditing Login Attempts in MySQL and MariaDB

My colleague Miguel wrote about ways to audit login attempts in MySQL over 13 years ago, and this is still a relevant subject. I decided to refresh this topic to include some important changes since then.

Very often, it is important to track login attempts to our databases due to security reasons as well as to catch application misconfigurations. I’ll focus here on the most convenient ways to log authentication attempts. While auditing all client connections is usually pointless on busy production systems, when even thousands of new client sessions may be authenticating per second, let’s concentrate especially on the failed ones.

The Error Log

All MySQL and MariaDB variants have an easy way of logging failed authentication attempts in the standard error log via elevated log verbosity. To enable it, in older MySQL versions up …

[Read more]
MySQL Memory Usage: A Guide to Optimization

Struggling with MySQL memory spikes? Knowing how and where memory is allocated can make all the difference in maintaining a fast, reliable database. From global buffers to session-specific allocations, understanding the details of MySQL’s memory management can help you optimize performance and avoid slowdowns. Let’s explore the core elements of MySQL memory usage with best practices for trimming excess in demanding environments.

How MySQL Uses Memory

MySQL dynamically manages memory across several areas to process queries, handle connections, and optimize performance. The two primary areas of memory usage include:

Global Buffers

These are shared by the entire MySQL server and include components like the InnoDB buffer pool, key buffer, and query cache. The InnoDB buffer pool is particularly memory-intensive, especially in data-heavy applications, as it stores frequently accessed data and indexes to speed up …

[Read more]
How to checksum on AWS RDS for MySQL Replication 8.0 > 8.4

During a MySQL upgrade process the RDS replication between MySQL 8.0 and 8.4 was configured. I wanted to ensure the data was consistent for any random reason. This post is…

The post How to checksum on AWS RDS for MySQL Replication 8.0 > 8.4 first appeared on Change Is Inevitable.

Dbeaver: For postgres 2 mysql data migration.

Hi all,

I’ve just been playing with DBeaver community and have migrated an old postgres schema to mysql with very little hassle.

After this, I’ve looked more into Dbeaver and found the following survey: https://dbeaver.com/2024/05/31/survey-results-shaping-the-future-with-customer-feedback/

Quite interesting!

Especially as one would think that a data migration task is more a DBA task. Good to know!

I also found the following links useful:

dbeaver.com/docs/dbeaver/Data-transfer

No option to dump DB without data #2176

[Read more]
What MySQL configuration you hate the most?

Ever spent your weekend debugging a MySQL production issue that could have been avoided with better configuration? I have, and it’s beyond frustrating. I have prepared my list of the…

The post What MySQL configuration you hate the most? first appeared on Change Is Inevitable.

How To Import and Export Databases in MySQL or MariaDB

This blog post is about importing and exporting databases in MySQL or MariaDB. Importing and Exporting are fundamental processes that ...

Read More

The post How To Import and Export Databases in MySQL or MariaDB appeared first on RoseHosting.

Killer Blog for MySQL Administrators

This is by far the most killer MySQL blog that I wanted to write for really long as a part of a Killer DBA series. Time is hard to find,…

The post Killer Blog for MySQL Administrators first appeared on Change Is Inevitable.

« Previous | Next »