A Tokio-based asynchronous MySQL client library for Rust, supporting connection pooling, transactions, and multiple TLS backends.
mysql_async is a fully-featured asynchronous MySQL driver for Rust built on the Tokio runtime. It provides a modern, non-blocking interface for interacting with MySQL databases, making it suitable for high-performance applications and async/await workflows. The library prioritizes safety, performance, and ergonomics with features like connection pooling, prepared statements, and TLS support.
Rust developers building asynchronous, high-performance applications that require efficient, non-blocking MySQL database interactions, such as web servers, data processing pipelines, or real-time services.
Developers choose mysql_async for its async-first design that integrates seamlessly with Rust's async/await ecosystem and Tokio runtime, offering fine-grained control and robust features like smart connection pooling, comprehensive type conversion, and optional tracing instrumentation. Its support for multiple TLS backends and named parameters provides flexibility and ergonomics over simpler alternatives.
Asyncronous Rust Mysql driver based on Tokio.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built on Tokio, it provides non-blocking database operations ideal for high-performance async/await workflows, as emphasized in the README's focus on modern Rust ecosystems.
Includes a cloneable Pool that is Send + Sync + 'static, facilitating easy sharing across threads and tasks without manual lifecycle management.
Offers the FromValue trait with both panicking and non-panicking variants, ensuring robust handling of MySQL data types with compile-time safety.
Supports multiple backends like native-tls and rustls, allowing teams to choose based on security or platform requirements, though with noted limitations.
The README lists numerous feature flags (e.g., minimal, default-rustls, tracing) that complicate dependency management and increase setup overhead for newcomers.
When using rustls, connections fail with IP addresses and may not work on Windows with default MySQL certificates, reducing cross-platform flexibility.
As a driver, it lacks built-in ORM features like automatic model mapping or schema migrations, requiring more boilerplate code for complex data interactions.