Connection
A connection can be made with a URL string or Opts.
The URL format is:
mysql://[user[:password]@]host[:port][/database][?parameters]
Example: Basic
use zero_mysql::sync::Conn;
use zero_mysql::Opts;
// URL
let mut conn = Conn::new("mysql://test:1234@localhost:3306/test_db")?;
// Opts struct
let mut opts = Opts::default();
opts.host = "localhost".to_string();
opts.port = 3306;
opts.user = "test".to_string();
opts.password = "1234".to_string();
opts.db = Some("test_db".to_string());
let mut conn = Conn::new(opts)?;
Example: Async
use zero_mysql::tokio::Conn;
let mut conn = Conn::new("mysql://test:1234@localhost:3306/test_db").await?;
Example: Unix Socket
use zero_mysql::Opts;
use zero_mysql::sync::Conn;
let mut opts = Opts::default();
opts.socket = Some("/var/run/mysqld/mysqld.sock".to_string());
opts.db = Some("test".to_string());
let mut conn = Conn::new(opts)?;
Connection Options
See Opts for all available connection options and URL query parameters.
Upgrade to Unix Socket
By default, upgrade_to_unix_socket is true.
If the connection is made via TCP to localhost, the driver queries SELECT @@socket to get the Unix socket path, then reconnects using the socket for better performance.
For production, disable this flag and manually specify the socket address:
let mut opts = Opts::try_from("mysql://test:1234@localhost")?;
opts.upgrade_to_unix_socket = false;
let mut conn = Conn::new(opts)?;