pub struct MySqlConnectOptions { /* private fields */ }
mysql
only.Expand description
Options and flags which can be used to configure a MySQL connection.
A value of MySqlConnectOptions
can be parsed from a connection URL,
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. |
ssl-cert | None | Sets the name of a file containing a client SSL certificate to authenticate the connection to the server |
ssl-key | None | Sets the name of a file containing a secret SSL key for the client certificate. |
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
// URL connection string
let conn = MySqlConnection::connect("mysql://root:password@localhost/db").await?;
// Manually-constructed options
let conn = MySqlConnectOptions::new()
.host("localhost")
.username("root")
.password("password")
.database("db")
.connect().await?;
Implementationsยง
Sourceยงimpl MySqlConnectOptions
impl MySqlConnectOptions
Sourcepub fn new() -> MySqlConnectOptions
pub fn new() -> MySqlConnectOptions
Creates a new, default set of options ready for configuration
Sourcepub fn host(self, host: &str) -> MySqlConnectOptions
pub fn host(self, host: &str) -> MySqlConnectOptions
Sets the name of the host to connect to.
The default behavior when the host is not specified, is to connect to localhost.
Sourcepub fn port(self, port: u16) -> MySqlConnectOptions
pub fn port(self, port: u16) -> MySqlConnectOptions
Sets the port to connect to at the server host.
The default port for MySQL is 3306
.
Sourcepub fn socket(self, path: impl AsRef<Path>) -> MySqlConnectOptions
pub fn socket(self, path: impl AsRef<Path>) -> MySqlConnectOptions
Pass a path to a Unix socket. This changes the connection stream from TCP to UDS.
By default set to None
.
Sourcepub fn username(self, username: &str) -> MySqlConnectOptions
pub fn username(self, username: &str) -> MySqlConnectOptions
Sets the username to connect as.
Sourcepub fn password(self, password: &str) -> MySqlConnectOptions
pub fn password(self, password: &str) -> MySqlConnectOptions
Sets the password to connect with.
Sourcepub fn database(self, database: &str) -> MySqlConnectOptions
pub fn database(self, database: &str) -> MySqlConnectOptions
Sets the database name.
Sourcepub fn ssl_mode(self, mode: MySqlSslMode) -> MySqlConnectOptions
pub fn ssl_mode(self, mode: MySqlSslMode) -> MySqlConnectOptions
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);
Sourcepub fn ssl_ca(self, file_name: impl AsRef<Path>) -> MySqlConnectOptions
pub fn ssl_ca(self, file_name: impl AsRef<Path>) -> MySqlConnectOptions
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");
Sourcepub fn ssl_ca_from_pem(self, pem_certificate: Vec<u8>) -> MySqlConnectOptions
pub fn ssl_ca_from_pem(self, pem_certificate: Vec<u8>) -> MySqlConnectOptions
Sets PEM encoded list of trusted SSL Certificate Authorities.
ยงExample
let options = MySqlConnectOptions::new()
.ssl_mode(MySqlSslMode::VerifyCa)
.ssl_ca_from_pem(vec![]);
Sourcepub fn ssl_client_cert(self, cert: impl AsRef<Path>) -> MySqlConnectOptions
pub fn ssl_client_cert(self, cert: impl AsRef<Path>) -> MySqlConnectOptions
Sets the name of a file containing SSL client certificate.
ยงExample
let options = MySqlConnectOptions::new()
.ssl_mode(MySqlSslMode::VerifyCa)
.ssl_client_cert("path/to/client.crt");
Sourcepub fn ssl_client_key(self, key: impl AsRef<Path>) -> MySqlConnectOptions
pub fn ssl_client_key(self, key: impl AsRef<Path>) -> MySqlConnectOptions
Sets the name of a file containing SSL client key.
ยงExample
let options = MySqlConnectOptions::new()
.ssl_mode(MySqlSslMode::VerifyCa)
.ssl_client_key("path/to/client.key");
Sourcepub fn statement_cache_capacity(self, capacity: usize) -> MySqlConnectOptions
pub fn statement_cache_capacity(self, capacity: usize) -> MySqlConnectOptions
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.
Sourcepub fn charset(self, charset: &str) -> MySqlConnectOptions
pub fn charset(self, charset: &str) -> MySqlConnectOptions
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
.
Sourcepub fn collation(self, collation: &str) -> MySqlConnectOptions
pub fn collation(self, collation: &str) -> MySqlConnectOptions
Sets the collation for the connection.
The default collation is derived from the charset
. Normally, you should only have to set
the charset
.
Sourcepub fn pipes_as_concat(self, flag_val: bool) -> MySqlConnectOptions
pub fn pipes_as_concat(self, flag_val: bool) -> MySqlConnectOptions
Sets the flag that enables or disables the PIPES_AS_CONCAT
connection setting
The default value is set to true, but some MySql databases such as PlanetScale error out with this connection setting so it needs to be set false in such cases.
Trait Implementationsยง
Sourceยงimpl Clone for MySqlConnectOptions
impl Clone for MySqlConnectOptions
Sourceยงfn clone(&self) -> MySqlConnectOptions
fn clone(&self) -> MySqlConnectOptions
1.0.0 ยท Sourceยงfn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSourceยงimpl ConnectOptions for MySqlConnectOptions
impl ConnectOptions for MySqlConnectOptions
type Connection = MySqlConnection
Sourceยงfn connect(
&self,
) -> Pin<Box<dyn Future<Output = Result<<MySqlConnectOptions as ConnectOptions>::Connection, Error>> + Send + '_>>
fn connect( &self, ) -> Pin<Box<dyn Future<Output = Result<<MySqlConnectOptions as ConnectOptions>::Connection, Error>> + Send + '_>>
self
.Sourceยงfn log_statements(&mut self, level: LevelFilter) -> &mut MySqlConnectOptions
fn log_statements(&mut self, level: LevelFilter) -> &mut MySqlConnectOptions
level
Sourceยงfn log_slow_statements(
&mut self,
level: LevelFilter,
duration: Duration,
) -> &mut MySqlConnectOptions
fn log_slow_statements( &mut self, level: LevelFilter, duration: Duration, ) -> &mut MySqlConnectOptions
duration
at the specified level
.Sourceยงfn disable_statement_logging(&mut self) -> &mut Self
fn disable_statement_logging(&mut self) -> &mut Self
Sourceยงimpl Debug for MySqlConnectOptions
impl Debug for MySqlConnectOptions
Sourceยงimpl Default for MySqlConnectOptions
impl Default for MySqlConnectOptions
Sourceยงfn default() -> MySqlConnectOptions
fn default() -> MySqlConnectOptions
Sourceยงimpl From<MySqlConnectOptions> for AnyConnectOptions
impl From<MySqlConnectOptions> for AnyConnectOptions
Sourceยงfn from(options: MySqlConnectOptions) -> AnyConnectOptions
fn from(options: MySqlConnectOptions) -> AnyConnectOptions
Sourceยงimpl FromStr for MySqlConnectOptions
impl FromStr for MySqlConnectOptions
Sourceยงimpl TryFrom<AnyConnectOptions> for MySqlConnectOptions
impl TryFrom<AnyConnectOptions> for MySqlConnectOptions
Sourceยงfn try_from(
value: AnyConnectOptions,
) -> Result<MySqlConnectOptions, <MySqlConnectOptions as TryFrom<AnyConnectOptions>>::Error>
fn try_from( value: AnyConnectOptions, ) -> Result<MySqlConnectOptions, <MySqlConnectOptions as TryFrom<AnyConnectOptions>>::Error>
Auto Trait Implementationsยง
impl Freeze for MySqlConnectOptions
impl RefUnwindSafe for MySqlConnectOptions
impl Send for MySqlConnectOptions
impl Sync for MySqlConnectOptions
impl Unpin for MySqlConnectOptions
impl UnwindSafe for MySqlConnectOptions
Blanket Implementationsยง
Sourceยงimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Sourceยงfn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Sourceยงimpl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Sourceยงimpl<T> IntoEither for T
impl<T> IntoEither for T
Sourceยงfn into_either(self, into_left: bool) -> Either<Self, Self> โ
fn into_either(self, into_left: bool) -> Either<Self, Self> โ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSourceยงfn into_either_with<F>(self, into_left: F) -> Either<Self, Self> โ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> โ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more