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
·
sidorares avatar

sidorares/node-mysql2

0
View on GitHub↗
4,369 stars·670 forks·TypeScript·MIT·22 viewssidorares.github.io/node-mysql2↗

Node Mysql2

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 secure database interactions.

The project covers a broad range of database integration capabilities, including atomic transaction coordination, binary log streaming, and tabular data streaming for bulk imports. It manages resource lifecycles through automated connection cleanup and provides various authentication mechanisms, such as password hash authentication and secure handshake negotiation.

Connectivity is further supported via SSL encryption, network traffic compression, and the ability to route traffic through custom duplex stream transports.

Features

  • MySQL Connectors - Provides a specialized Node.js driver for establishing secure network connections and executing queries on MySQL databases.
  • MySQL Integrations - Establishes network connections to a MySQL database to execute queries and manage data storage in Node.js.
  • Node.js Connectors - Implements a native MySQL database driver specifically for the Node.js runtime environment.
  • Connection Pools - Manages a cache of reusable MySQL connections to reduce latency and improve application performance.
  • Protocol Packet Parsers - Implements the MySQL wire protocol to decode raw binary network streams into structured data packets.
  • Connection Pool Managers - Manages groups of database connections with support for cluster routing and graceful shutdown procedures.
  • Database Query Execution - Executes SQL queries and retrieves data using the native MySQL communication protocol.
  • Promise-Wrapped Querying - Provides a promise-wrapped interface for database queries to enable asynchronous control flow using async/await.
  • MySQL Connection Poolers - Provides a dedicated manager for reusable MySQL database connections to optimize session establishment and reduce latency.
  • Prepared Statements - Supports parameterized queries to increase execution speed and protect the database from injection attacks.
  • Promise-Based SQL Clients - Provides a database interface with promise-based query execution and async/await support.
  • SQL Query Execution - Sends SQL statements to a database and processes returned results using asynchronous JavaScript patterns.
  • Connection Pooling - Reduces latency and overhead by reusing existing network connections for multiple database requests.
  • MySQL Protocol Implementations - Provides a full implementation of the MySQL network protocol for building custom proxies or servers.
  • Async-Await Flow Control - Implements async and await syntax to simplify the logic of asynchronous database control flows.
  • Query Parameterization - Implements prepared statements to separate query logic from data, preventing SQL injection attacks.
  • SQL Injection Prevention - Secures database interactions against malicious input using prepared statements and parameterized queries.
  • Binary Log Streaming Tools - Interfaces with the binary log protocol to replicate data changes and track database events in real-time.
  • Atomic Transaction Coordinators - Coordinates sequences of operations through start, commit, and rollback commands to ensure atomic changes.
  • Read-Write Splitting - Coordinates multiple connection pools across different servers to implement load balancing and read/write splitting.
  • MySQL Clustering Systems - Distributes database workloads across multiple servers to implement load balancing and read-write splitting.
  • Query Execution Engines - Processes database queries and converts returned results into specific data types for application use.
  • SQL Placeholder Bindings - Maps query parameters to object keys and converts them into positional placeholders for secure execution.
  • Disposable Resource Management - Uses explicit disposal symbols to automatically release network sockets and clear memory when connections go out of scope.
  • Scope-Based Resource Cleanup - Automatically releases database connections and pools when they go out of scope using explicit resource management.
  • SQL Injection Prevention Tools - Prevents SQL injection attacks through the use of prepared statements and parameterized queries.
  • Tabular Data Import - Streams local tabular data into the database using a readable stream factory for efficient bulk imports.
  • Connection Lifecycle Managers - Tracks the state of active network sockets and uses disposal symbols to release system resources.
  • Pool Clustering - Supports grouping multiple independent connection pools to distribute queries across different database nodes for load balancing.
  • Database Session Management - Manages the establishment, termination, and resetting of individual sessions with the database server.
  • Protocol Negotiation - Exchanges initialization packets with clients to negotiate protocol versions and feature flags.
  • Server Instance Listeners - Allows starting a server instance that listens on a port or unix socket to accept incoming database connections.
  • Handshake Protocols - Performs secure handshakes using the server's preferred authentication method and configurable encryption contexts.
  • Database Connection Encryption - Secures the communication channel between the application and the database server using SSL/TLS encryption.
  • Feature Flag Negotiations - Exchanges initialization packets and feature flags to determine authentication and compression settings during the handshake.
  • Input Sanitization - Escapes values and identifiers to treat user input as data rather than executable code, preventing injection.
  • Database Protocol Proxies - Enables building server interfaces and routing traffic through custom transports using the MySQL protocol.
  • Databases - Fast MySQL driver with compatibility.

Star history

Star history chart for sidorares/node-mysql2Star history chart for sidorares/node-mysql2

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

Open-source alternatives to Node Mysql2

Similar open-source projects, ranked by how many features they share with Node Mysql2.
  • felixge/node-mysqlfelixge avatar

    felixge/node-mysql

    18,621View on GitHub↗

    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 provi

    JavaScript
    View on GitHub↗18,621
  • brianc/node-postgresbrianc avatar

    brianc/node-postgres

    13,155View on GitHub↗

    This project is a Node.js client for PostgreSQL databases, providing a protocol parser to translate raw binary streams into JavaScript objects. It serves as a driver for executing queries, managing data, and integrating Node.js applications with PostgreSQL backends. The library includes a connection pool manager to reduce network overhead by caching reusable connections and a result streamer that uses cursors to retrieve large datasets incrementally. It also functions as an event listener for subscribing to asynchronous server-side notifications to trigger real-time application events. Broad

    JavaScriptlibpqnode-postgrespostgres
    View on GitHub↗13,155
  • 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
  • chenshenhai/koa2-notechenshenhai avatar

    chenshenhai/koa2-note

    5,161View on GitHub↗

    koa2-note is a project focused on Koa2 web server development and Node.js asynchronous programming. It provides a framework for building web servers and APIs using an asynchronous middleware pipeline to handle request and response cycles. The project emphasizes a layered backend architecture that decouples routing, business services, and data models. It distinguishes itself through the integration of relational databases for persisting user sessions and application data, alongside a build process that includes JSX-to-JavaScript compilation for frontend assets. The capability surface covers b

    course-noteskoakoa2
    View on GitHub↗5,161
See all 30 alternatives to Node Mysql2→

Frequently asked questions

What does sidorares/node-mysql2 do?

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.

What are the main features of sidorares/node-mysql2?

The main features of sidorares/node-mysql2 are: MySQL Connectors, MySQL Integrations, Node.js Connectors, Connection Pools, Protocol Packet Parsers, Connection Pool Managers, Database Query Execution, Promise-Wrapped Querying.

What are some open-source alternatives to sidorares/node-mysql2?

Open-source alternatives to sidorares/node-mysql2 include: felixge/node-mysql — This project is a pure JavaScript database driver for Node.js that implements the native MySQL binary protocol. It… brianc/node-postgres — This project is a Node.js client for PostgreSQL databases, providing a protocol parser to translate raw binary streams… mysqljs/mysql — This project is a MySQL database driver and client for Node.js. It provides a JavaScript implementation of the MySQL… chenshenhai/koa2-note — koa2-note is a project focused on Koa2 web server development and Node.js asynchronous programming. It provides a… alibaba/alisql — AliSQL is a fork of MySQL by Alibaba that extends the relational database management system with enhancements for high… siddontang/go-mysql — go-mysql is a toolkit for the Go programming language designed for implementing MySQL protocol handlers, binary log…