awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
felixge avatar

felixge/node-mysql

0
View on GitHub↗
18,621 stars·2,515 forks·JavaScript·MIT·16 views

Node Mysql

This project is a pure JavaScript database driver for Node.js that implements the native MySQL binary protocol. It serves as a comprehensive connector for managing persistent network links to MySQL servers, enabling applications to execute queries, manage transactions, and handle complex data operations without requiring external middleware.

The driver distinguishes itself through its integrated support for connection pooling and distributed database routing. It maintains managed sets of reusable network sockets to optimize resource usage under high request volumes, while simultaneously providing automated clustering capabilities to distribute traffic across multiple server nodes. These features are complemented by built-in security mechanisms, including template-based query sanitization and identifier escaping, which protect against injection vulnerabilities by automatically handling input formatting.

Beyond core connectivity, the library provides extensive support for memory-efficient data handling through stream-based result processing, allowing large datasets to be consumed row by row. It also includes robust observability and lifecycle management tools, such as communication tracing, connection health verification, and event-based monitoring for session states. The driver further supports advanced database interactions, including multi-statement execution, stored procedure handling, and secure data transmission via encrypted protocols.

Features

  • MySQL Connectors - Implements the native MySQL binary protocol to enable Node.js applications to execute queries and manage database connections.
  • Node.js Connectors - Connects Node.js applications to MySQL servers to execute queries, manage transactions, and handle data retrieval through a native protocol.
  • Connection Establishment - Establishes persistent network links to database servers using host details and authentication credentials to ensure reliable data access.
  • Connection Pools - Maintains a set of reusable database connections to optimize resource usage and handle high request volumes in web applications.
  • Parameterized SQL Templates - Prevents injection vulnerabilities by automatically escaping and binding user-provided values into SQL templates before transmission to the server.
  • Binary Protocols - Communicates directly with the database server using its binary wire protocol to eliminate the need for external middleware.
  • Database Connection Managers - Maintains a managed set of reusable network sockets to optimize resource usage and handle high volumes of concurrent database requests.
  • Database Transaction Wrappers - Provides mechanisms for wrapping multiple database queries within a single transaction session to ensure atomicity and data consistency.
  • Connection Pool Managers - Maintains a collection of reusable database connections with configurable limits and queuing behavior to optimize resource usage.
  • Database Wire Protocol Implementations - Communicates directly with the database server using its binary wire protocol without requiring external client libraries or middleware.
  • Placeholder-Based SQL Templates - Constructs secure query strings by injecting values into placeholders and applying automatic escaping to prevent injection.
  • Connection Pooling - Maintains a managed set of reusable network sockets to minimize the overhead of repeatedly establishing new database connections.
  • Relational Database Connectors - Establishes persistent network connections to relational databases for reliable data exchange and transaction management.
  • SQL Query Execution - Executes SQL statements and retrieves structured results including metadata like affected row counts and generated IDs.
  • Input Sanitization - Cleans and validates user-provided data to prevent SQL injection attacks through automatic escaping and placeholder substitution.
  • SQL Injection Prevention - Sanitizes user inputs and escapes query identifiers to ensure database commands are executed safely and protected against malicious injection attacks.
  • Cluster Connectivity - Distributes incoming database requests across multiple server nodes and automatically removes unresponsive nodes from the rotation.
  • Asynchronous Callbacks - Processes database operations using non-blocking callbacks to handle concurrent requests without stalling the main application thread.
  • Connection Health Maintenance - Performs automatic validation of database connections to ensure they remain active and responsive.
  • Distributed Databases - Distributes database requests across multiple server nodes to improve performance and ensure high availability through automated connection clustering.
  • Result Streaming - Provides memory-efficient incremental retrieval of database rows to handle large datasets without exhausting system memory.
  • Row-Based Result Streaming - Exposes query results as readable streams to allow memory-efficient handling of large datasets by processing rows as they arrive.
  • SQL Query Builders - Provides utilities for constructing and sanitizing SQL queries to prevent injection vulnerabilities.
  • Batch Statement Execution - Executes multiple SQL commands within a single request to process complex data operations efficiently.
  • Stored Procedures - Executes pre-defined database routines and processes multiple returned result sets using a consistent interface.
  • Connection Termination - Closes a connection to the database by finishing pending queries gracefully or by immediately destroying the underlying socket.
  • Connection Lifecycle Managers - Opens and gracefully closes database sessions, ensuring all pending operations complete before terminating the network link to the server.
  • Identifier Escaping - Sanitizes database, table, and column names to ensure they are treated as literal identifiers and prevent injection.
  • SSL/TLS Connection Security - Implements secure transport layers using SSL or TLS to encrypt database traffic between clients and servers.
  • Cluster Load Balancing - Distributes database traffic across multiple server nodes by monitoring connection health and routing queries based on configurable selection strategies.
  • Database Drivers - Provides a driver for interacting with relational databases.

Star history

Star history chart for felixge/node-mysqlStar history chart for felixge/node-mysql

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does felixge/node-mysql do?

This project is a pure JavaScript database driver for Node.js that implements the native MySQL binary protocol. It serves as a comprehensive connector for managing persistent network links to MySQL servers, enabling applications to execute queries, manage transactions, and handle complex data operations without requiring external middleware.

What are the main features of felixge/node-mysql?

The main features of felixge/node-mysql are: MySQL Connectors, Node.js Connectors, Connection Establishment, Connection Pools, Parameterized SQL Templates, Binary Protocols, Database Connection Managers, Database Transaction Wrappers.

What are some open-source alternatives to felixge/node-mysql?

Open-source alternatives to felixge/node-mysql include: mysqljs/mysql — This project is a MySQL database driver and client for Node.js. It provides a JavaScript implementation of the MySQL… sidorares/node-mysql2 — This project is a MySQL database driver for Node.js that establishes network connections and executes SQL queries… datlechin/tablepro — TablePro is a cross-platform database management client designed for browsing, querying, and administering both SQL… porsager/postgres — This project is a PostgreSQL client library and SQL query builder for JavaScript and TypeScript. It provides a… brianc/node-postgres — This project is a Node.js client for PostgreSQL databases, providing a protocol parser to translate raw binary streams… jeremyevans/sequel — Sequel is a relational database toolkit for Ruby that provides object-relational mapping, a fluent SQL query builder,…

Open-source alternatives to Node Mysql

Similar open-source projects, ranked by how many features they share with Node Mysql.
  • mysqljs/mysqlmysqljs avatar

    mysqljs/mysql

    18,623View on GitHub↗

    This project is a MySQL database driver and client for Node.js. It provides a JavaScript implementation of the MySQL protocol to facilitate connecting to, querying, and managing data within MySQL databases. The driver includes a connection pool manager to maintain a cache of reusable database connections, reducing the overhead of frequent network handshakes. It also supports row-by-row result streaming to process large datasets without loading entire result sets into memory. Core capabilities cover SQL query execution, the management of database transactions, and the coordination of multiple

    JavaScriptjavascriptmysqlnodejs
    View on GitHub↗18,623
  • sidorares/node-mysql2sidorares avatar

    sidorares/node-mysql2

    4,369View on GitHub↗

    This project is a MySQL database driver for Node.js that establishes network connections and executes SQL queries using a native communication protocol. It functions as an asynchronous SQL client, providing a promise-based query interface and support for async/await patterns to manage non-blocking database operations. The library includes a full MySQL protocol implementation, serving as a toolkit for building custom database servers, proxies, or clients. It also operates as a connection pool manager and an injection prevention tool, utilizing prepared statements and parameterized queries to s

    TypeScript
    View on GitHub↗4,369
  • datlechin/tableprodatlechin avatar

    datlechin/TablePro

    4,471View on GitHub↗

    TablePro is a cross-platform database management client designed for browsing, querying, and administering both SQL and NoSQL databases. It functions as a unified workspace that integrates a code-centric SQL editor with schema visualization tools, allowing developers to manage complex data models and execute queries across diverse database engines. The application distinguishes itself through an agentic AI integration layer that connects language models directly to database tools, enabling automated query generation, optimization, and error fixing with configurable approval gates. It features

    Swift
    View on GitHub↗4,471
  • porsager/postgresporsager avatar

    porsager/postgres

    8,566View on GitHub↗

    This project is a PostgreSQL client library and SQL query builder for JavaScript and TypeScript. It provides a low-level database driver and connection manager to handle database sessions, along with a logical replication client for monitoring real-time changes. The library distinguishes itself with a high-performance bulk data streamer that utilizes the database copy command for importing and exporting large datasets. It also implements a logical replication protocol to facilitate real-time database synchronization through change subscriptions and channel-based notifications. The toolset co

    JavaScriptclientcockroachdbdatabase
    View on GitHub↗8,566
  • See all 30 alternatives to Node Mysql→