I pointed a Node script at a MySQL table and the connection succeeded. The INSERT failed on a name containing an apostrophe. Pasting values into the SQL string holds until real data arrives, then a name like O’Brien ends the run with a syntax error. Placeholders are the fix, and the driver escapes every value […]
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
RowDataPacket is the name MySQL hands back to Node.js, and it is the line most readers get stuck on. This is the select step end to end, from a running MySQL server to a callback whose rows you can read. What you need to run MySQL SELECT queries in NodeJS Three things, in dependency order. […]
Focusing on Percona Server 8.4.11-11
My previous post (Performance Progression of Percona Server for MySQL 8.4) did a brief review of the performance changes in Percona Server for MySQL 8.4 released in 2026. I recommend reading it first to better understand the material in this post.
Version 8.4.11-11 includes patches that deliver significant improvements in performance and scalability.
One of the most impressive illustrations of the performance bump is reflected in the following graph:
Graph 1 – Percona-Server 8.4.X with 8G buffer [ INTERACTIVE GRAPH ][ …
[Read more]MySQL ERROR 1731 'Non matching attribute INSTANT COLUMN(s)' breaks EXCHANGE PARTITION after ALGORITHM=INSTANT. This blog offers reasoning and fixtures.
The post MySQL INSTANT DDL breaks EXCHANGE PARTITION first appeared on Change Is Inevitable.
DROP TABLE crashed my Node process when I re-ran it without a guard, and the fix turns that crash into a warning. I built every code path below on Node 26.7.0 with mysql 2.18.1 and mysql2 3.24.4 against MariaDB 10.11.14. I captured the terminal output as images so what you run matches what I saw. […]
I ran node app.js once and the users table appeared, then I ran it again and MySQL returned Table users already exists. If you copy the Node.js MySQL create table snippet from an older tutorial you expect it to be safe to rerun because the code looks like any other setup script, so the duplicate […]
Node.js can create a MySQL database with one query, but the connection that runs it has to be set up without naming a database first. I hit ER_DB_CREATE_EXISTS on the next run because my first draft skipped IF NOT EXISTS, which means the same script blows up the moment you re-run it. The safe path […]
本記事は、Five Things to Try in MySQL Workbench 26.7の日本語訳です。 MySQL Workbench 26.7では、最新のテクノロジーとMySQL Shellを基盤として構築した、新世代のMySQL Workbenchを導入しました。 Alfredo Kojimaによるブログ「MySQL Workbench 26のご紹介」では、新しいアーキテクチャと今回のリリースで利用できる機能について分かりやすく紹介しています。ここではその内容を繰り返すのではなく、Workbench 26.7をインストールしたら、ぜひ試していただきたい機能をいくつか紹介します。 すぐに確認できるものもあれば、新しいインターフェースを使い込んでいくうちに初めて気付くような機能もあります。 1. Notebookを使う、またはSQL Scriptを使い続ける SQL …
[Read more]I rebuilt this MySQL connection from scratch on Node 26 with mysql2 3.24.4 because the old page still taught the unmaintained mysql package. It left every error to a throw that crashes your process. I ran each snippet below against a local MariaDB 10.11 on 3306, so every ER_ACCESS_DENIED_ERROR you see came from a run […]
I threw a per-request MySQL connection into a small Node API and watched it limp under concurrent load, so I rebuilt it with a mysql2 pool and kept the receipts. I created the pool with createPool on Node v26.7.0 and mysql2 3.24.4, ran pool.query and pool.getConnection against a local host, and got ER_ACCESS_DENIED_NO_PASSWORD_ERROR back because […]