SQL problems become manageable when you turn the prompt into decisions about rows, columns, grouping, and result order, and I ran the worked example below with Python 3.11.16 and SQLite 3.53.1 so you can inspect how each clause changes the result. Start with the requested result Before writing SQL, mark the rows the prompt should […]
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
Percona Server for MySQL now ships with a fully open source OpenID Connect (OIDC) authentication plugin, available starting with Percona Server for MySQL 8.4.11-11 and 9.7.2-2 (not yet released as of this writing). It allows a MySQL account to authenticate against any standards-compliant Identity Provider (IdP) instead of relying on a locally stored password, closing the gap with MySQL Enterprise Edition, which has offered OIDC authentication since MySQL 9.1 and, in several respects, going beyond it.
Oracle offers the same category of functionality, but its server-side plugin is part of the paid MySQL Enterprise Edition. Percona’s implementation is open source and adds three capabilities the Enterprise plugin does not provide: automatic signing-key synchronization from a JWKS endpoint, IdP group-to-role mapping, and proxy-user support. This article explains how the plugin works and why those differences …
[Read more]These 100 SQL MCQs with answers cover the concepts that appear repeatedly in beginner assessments, from SELECT and filtering through joins, grouping, constraints, and set operations. Answer each question before opening its explanation, then use every miss to name the SQL concept you need to practise in a database. How to use these SQL MCQ […]
Java Database Connectivity (JDBC) gives a Java program a standard API for opening a MySQL connection, sending SQL, and reading rows. The work starts with a compatible MySQL driver, a complete JDBC URL, and an account that can reach only the database your program needs. I compiled the example below with Maven resolving MySQL Connector/J […]
Posted on MySQL Ninjas | August 2026
Every DBA has been there. An alert fires. You SSH into the box,
run free -h, and see MySQL consuming far more RAM
than you configured. You double-check
innodb_buffer_pool_size. It's set correctly. So
where is the memory going?
This is the story of debugging exactly that — on a Google Cloud
c4d-standard-4 instance with 14.7 GB RAM, MySQL
configured with a 7168 MB buffer pool, and mysqld RSS sitting at
10.4 GB. That's a 3.2 GB gap nobody could
explain.
The Setup
We run a large …
[Read more]Homebrew gives you the shortest path to a local MySQL server on macOS, but an install command alone does not prove that the server is running or that the client can connect. I checked the Homebrew mysql formula and built this sequence around the package, service, security, and connection checks it documents. Use this route […]
Deno can use the mysql2 driver through its npm compatibility layer, so a Deno app can open a MySQL connection without reviving an older URL import. The working path is small: give the app a limited database account, read its connection values from environment variables, execute a parameterized query, then close the pool. I ran […]
What LTS, Innovation, and “latest supported” mean across MySQL Server, Shell, Router, Connectors, and Operator MySQL has two different release models, and understanding which products follow which model makes choosing versions much simpler. MySQL Server and MySQL NDB Cluster offer Long-Term Support (LTS) and Innovation releases. MySQL Shell, MySQL Router, MySQL Connectors, and MySQL Operator for Kubernetes follow a Single Releasemodel: use […]
Build a Deno API server with MySQL by keeping HTTP handling separate from database work. The handler below rejects an empty name, creates a user, and lists users, while MySQL2 owns parameterized SQL. Install Deno and prepare MySQL Install Deno with the current Deno installation instructions. Deno can import npm packages, including MySQL2, through its […]
The MySQL team would like to thank everyone in the community who contributed bug reports, patches, pull requests, and continued feedback that became part of the MySQL 26.7 release. As always, community contributions help make MySQL better for everyone. In this release, we received contributions across the MySQL Server Optimizer, Parser, Prepared Statements, Performance Schema, […]