Struct cdbc_mysql::MySqlConnectOptions [−][src]
pub struct MySqlConnectOptions {
pub host: String,
pub port: u16,
pub socket: Option<PathBuf>,
pub username: String,
pub password: Option<String>,
pub database: Option<String>,
pub ssl_mode: MySqlSslMode,
pub ssl_ca: Option<CertificateInput>,
pub statement_cache_capacity: usize,
pub charset: String,
pub collation: Option<String>,
}
Expand description
Options and flags which can be used to configure a MySQL connection.
A value of MySqlConnectOptions
can be parsed from a connection URI,
as described by MySQL.
The generic format of the connection URL:
mysql://[host][/database][?properties]
Properties
Parameter | Default | Description |
---|---|---|
ssl-mode | PREFERRED | Determines whether or with what priority a secure SSL TCP/IP connection will be negotiated. See MySqlSslMode . |
ssl-ca | None | Sets the name of a file containing a list of trusted SSL Certificate Authorities. |
statement-cache-capacity | 100 | The maximum number of prepared statements stored in the cache. Set to 0 to disable. |
socket | None | Path to the unix domain socket, which will be used instead of TCP if set. |
Example
// URI connection string
let conn = MySqlConnection::connect("mysql://root:password@localhost/db")?;
// Manually-constructed options
let conn = MySqlConnectOptions::new()
.host("localhost")
.username("root")
.password("password")
.database("db")
.connect()?;
Ok(())
Fields
host: String
port: u16
socket: Option<PathBuf>
username: String
password: Option<String>
database: Option<String>
ssl_mode: MySqlSslMode
ssl_ca: Option<CertificateInput>
statement_cache_capacity: usize
charset: String
collation: Option<String>
Implementations
Sets the name of the host to connect to.
The default behavior when the host is not specified, is to connect to localhost.
Sets the port to connect to at the server host.
The default port for MySQL is 3306
.
Pass a path to a Unix socket. This changes the connection stream from TCP to UDS.
By default set to None
.
Sets whether or with what priority a secure SSL TCP/IP connection will be negotiated with the server.
By default, the SSL mode is Preferred
, and the client will
first attempt an SSL connection but fallback to a non-SSL connection on failure.
Example
let options = MySqlConnectOptions::new()
.ssl_mode(MySqlSslMode::Required);
Sets the name of a file containing a list of trusted SSL Certificate Authorities.
Example
let options = MySqlConnectOptions::new()
.ssl_mode(MySqlSslMode::VerifyCa)
.ssl_ca("path/to/ca.crt");
Sets PEM encoded list of trusted SSL Certificate Authorities.
Example
let options = MySqlConnectOptions::new()
.ssl_mode(MySqlSslMode::VerifyCa)
.ssl_ca_from_pem(vec![]);
Sets the capacity of the connection’s statement cache in a number of stored distinct statements. Caching is handled using LRU, meaning when the amount of queries hits the defined limit, the oldest statement will get dropped.
The default cache capacity is 100 statements.
Sets the character set for the connection.
The default character set is utf8mb4
. This is supported from MySQL 5.5.3.
If you need to connect to an older version, we recommend you to change this to utf8
.
Trait Implementations
type Connection = MySqlConnection
Establish a new database connection with the options specified by self
.
Auto Trait Implementations
impl RefUnwindSafe for MySqlConnectOptions
impl Send for MySqlConnectOptions
impl Sync for MySqlConnectOptions
impl Unpin for MySqlConnectOptions
impl UnwindSafe for MySqlConnectOptions
Blanket Implementations
Mutably borrows from an owned value. Read more