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 45526 « Previous | Next »
How VillageSQL does open source

When a commercial entity says they are working on an open source database, community members fairly ask what that means to them. They also ask if the same rules apply to everyone or just the company’s employees. Can an outsider see what's planned? Does a pull request from a stranger go through the same process as one from an employee? This blog post explores how VillageSQL approaches open source by stepping through how we are operating the VillageSQL Server project. VillageSQL Server is the open source tracking fork of MySQL that adds an extension framework to enable permissionless innovation on MySQL. 

GPLv2, inherited from MySQL

VillageSQL Server is licensed under the GNU General Public License version 2 (GPLv2), because that is how upstream MySQL is licensed and VillageSQL inherits that due to the copy left nature of GPLv2. The …

[Read more]
Kiến thức lập trình web, PHP, MySQL cho người mới

Kiến thức lập trình web, PHP, MySQL cho người mới

Kiến thức lập trình web, PHP, MySQL và công cụ phát triển chính là nền móng chúng tôi luôn nhắc học viên nắm chắc trước khi gõ dòng code đầu tiên. Rất nhiều bạn mới học lao thẳng vào viết PHP mà bỏ qua bước chuẩn bị môi trường. Kết quả là máy không chạy được, cơ sở dữ liệu không kết nối, và cả buổi tối trôi qua chỉ để tìm một lỗi vặt. Đội ngũ chúng tôi đã đồng hành với khá nhiều bạn trẻ rơi vào đúng tình huống này. Trong bài viết hôm nay, chúng tôi muốn chia sẻ lại đúng những gì bên mình thường khuyên học viên chuẩn bị, trước khi bắt tay vào code thật sự.

Kiến thức lập trình web, PHP, MySQL và công cụ phát triển bắt đầu từ đâu Kiến thức lập trình web, PHP, MySQL và …

[Read more]
Multi-Node Unused Index Verification

Every MySQL schema that’s been around for a few years collects indexes nobody remembers adding. Some were for a report that was retired. Some came from an ORM migration. A few were added “just in case” and never used. They all cost something: extra writes on every INSERT and UPDATE, increased buffer pool pressure, larger backups, and slower schema changes.

MySQL makes it look easy to find them. Since 5.7, the sys schema ships a view called sys.schema_unused_indexes, and one query gives you a list of indexes with zero reads since the server started. It’s tempting to turn that list straight into DROP INDEX statements.

In an earlier post, How to Find Duplicate, Unused, and Invisible Indexes in MySQL, I showed how to use that view on a single server. This post covers what that approach misses once replicas are involved.

…[Read more]
Village News: MySQL News + Events (29 October 2026)

Welcome back to Village News, our curated roundup of MySQL and database news. This week, plans for FOSDEM 2027 took shape, with a new M-Ecosystem devroom and MySQL Belgian Days opening their calls for papers.

If you want to get these updates, just subscribe to the blog.

Enjoy!

MySQL News

Note: Aggregated MySQL news can be found at Planet for MySQL Community and Planet MySQL (Oracle curated)

Percona Operator for MySQL 1.3.0: autopilot tuning, zero-data-loss async failover, encrypted PITR
Slava Sarzhan, Percona Blog

TL;DR - …

[Read more]
Percona Operator for MySQL 1.3.0: autopilot tuning, zero-data-loss async failover, encrypted PITR

 

Percona Operator for MySQL 1.3.0 is out. This release moves three things forward for teams running MySQL on Kubernetes: the operator now tunes MySQL for you based on the pod resources, async clusters can fail over without losing data in flight, and point-in-time recovery works on clusters where binary logs are encrypted at rest.

The headline features in this post are automatic MySQL configuration tuning, zero data loss failover for asynchronous clusters, and encrypted binary logs for point-in-time recovery. Each of them removes a step that teams were doing by hand, or a case they had to accept as a known gap.

As with every operator release, most of what shipped came from what the community asked for on forums.percona.com and in …

[Read more]
How to Extract Data from InnoDB, MyISAM, and MyRocks Files Without a Running Server

Probably everyone responsible for managing database servers at some point realizes that it would be helpful to have a tool capable of extracting data directly from raw database files. Something completely offline, without the need to have a running database server, and that would work with data directories, files, or binary backups (storage volume snapshots, XtraBackup, etc).

There are a couple of use cases for that I could think of:

  • Crashed/corrupted data recovery – if the database service refuses to start or enters a crash-restart loop and there are no good backups (PITR!) available.
  • Backup (additional) verification and data files health check.
  • Extraction of individual databases or tables from a full backup.
  • Quick provisioning of staging/QA instances …
[Read more]
How to change MySQL account passwords with no downtime

Changing the password of a MySQL account that an application uses was hard before MySQL 8.0. It is easy in MySQL 8.0 and later, thanks to two clauses of ALTER USER: RETAIN CURRENT PASSWORD and DISCARD OLD PASSWORD.

How to change MySQL account passwords with no downtime

Changing the password of a MySQL account that an application uses was hard before MySQL 8.0. It is easy in MySQL 8.0 and later, thanks to two clauses of ALTER USER: RETAIN CURRENT PASSWORD and DISCARD OLD PASSWORD.

Crafting an Extension Framework for MySQL: a talk from MySQL BR Conf 2026

I opened my MySQL BR Conf 2026 talk creating a new data type that stock MySQL doesn’t have: ROT13. … OK, admittedly, it’s a silly type. With a ROT13 column, you insert plain strings and read back plain strings, but the table stores scrambled text. … OK, it’s very *very* silly. But the point of this example isn’t to convince you extensions are useful; it’s to show a tiny extension that allows exploring design choices we made in designing the VEF (VillageSQL Extension Framework).

What the talk covers

  • Simpler functions and aggregates. VDF’s (VEF-Defined Functions) resemble MySQL UDF’s (User-Defined Functions), but are easier to write. I explore how we made it both more ergonomic in C++ and also how we make it harder to mess up.
  • Types …
[Read more]
Kiến Thức Lập Trình Web, PHP, MySQL Cho Người Mới

Kiến Thức Lập Trình Web, PHP, MySQL Cho Người Mới

Kiến thức lập trình web, PHP, MySQL và công cụ phát triển là chủ đề chúng tôi hay được hỏi nhất. Rất nhiều bạn muốn tự học lập trình nhưng không biết bắt đầu từ đâu. Nên học công nghệ gì trước? Dùng công cụ nào để không lạc giữa hàng trăm tài liệu trên mạng? Trong bài này, đội ngũ chúng tôi chia sẻ lộ trình từng áp dụng khi hướng dẫn học viên mới. Lộ trình đi từ những bước sơ khai nhất. Cuối cùng, bạn sẽ tự tay dựng được một website hoàn chỉnh.

Vì sao PHP và MySQL vẫn là lựa chọn tốt để bắt đầu học lập trình web Vì sao PHP và MySQL vẫn là lựa chọn tốt để bắt đầu học lập trình web

Một trong những lý do khiến chúng tôi luôn khuyên người mới chọn PHP và …

[Read more]
« Previous | Next »