What is VillageSQL Server?
VillageSQL is the innovation platform for MySQL and a new path for MySQL in the agentic AI era. VillageSQL Server for MySQL is an open-source, drop-in replacement, and extensible tracking fork of MySQL. It introduces a robust extension framework that supports custom data types and custom functions (with custom indexes coming soon). VillageSQL’s mission is to empower the MySQL community by enabling permissionless innovation.Getting Started
Quickstart
Install VillageSQL and get your first database running.
VillageSQL on GitHub
View the source code and contribute to the project.
Extensions for MySQL
VillageSQL is a drop-in replacement for MySQL but adds on the ability to load extensions that modify the server’s behavior. Extensions support:- Custom Data Types: Extensions can define new types (e.g.,
UUID,COMPLEX,INET6) that behave like native types. - Custom Functions: Add high-performance C++ functions callable from SQL.
- Seamless Integration: Extensions are managed via simple SQL commands (
INSTALL EXTENSION,SHOW EXTENSIONS).
Built-in Extensions
VillageSQL Server 0.0.1 ships with five built-in extensions:vsql_complex: adds support for complex number data typevsql_uuid: adds UUID generation, validation, conversion, and comparison capabilitiesvsql_ai: adds AI prompting via SQL functionsvsql_crypto: provides cryptographic functions for hashing, encryption, and random data generation using OpenSSLvsql_network_address: adds complete support for IPv4, IPv6, and MAC addresses
Build an Extension
You can build your own extension using this template.Why VillageSQL?
Drop-in Compatibility
Fully compatible with the MySQL protocol, clients, and drivers. If it works with MySQL, it works with VillageSQL.
Extensible Core
Dynamically load new features via extensions using
INSTALL EXTENSION.Open Ecosystem
Community-driven development with a focus on enabling innovation through extensions.
Familiar Tooling
Use standard MySQL tools (
mysqld, mysql client) and configurations.
