Struct sqlx_core::mysql::MySqlConnectOptions
source · [−]pub struct MySqlConnectOptions { /* private fields */ }
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").await?;
// Manually-constructed options
let conn = MySqlConnectOptions::new()
.host("localhost")
.username("root")
.password("password")
.database("db")
.connect().await?;
Implementations
sourceimpl MySqlConnectOptions
impl MySqlConnectOptions
sourcepub fn host(self, host: &str) -> Self
pub fn host(self, host: &str) -> Self
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) -> Self
pub fn port(self, port: u16) -> Self
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>) -> Self
pub fn socket(self, path: impl AsRef<Path>) -> Self
Pass a path to a Unix socket. This changes the connection stream from TCP to UDS.
By default set to None
.
sourcepub fn ssl_mode(self, mode: MySqlSslMode) -> Self
pub fn ssl_mode(self, mode: MySqlSslMode) -> Self
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>) -> Self
pub fn ssl_ca(self, file_name: impl AsRef<Path>) -> Self
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>) -> Self
pub fn ssl_ca_from_pem(self, pem_certificate: Vec<u8>) -> Self
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 statement_cache_capacity(self, capacity: usize) -> Self
pub fn statement_cache_capacity(self, capacity: usize) -> Self
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.
Trait Implementations
sourceimpl Clone for MySqlConnectOptions
impl Clone for MySqlConnectOptions
sourcefn clone(&self) -> MySqlConnectOptions
fn clone(&self) -> MySqlConnectOptions
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl ConnectOptions for MySqlConnectOptions
impl ConnectOptions for MySqlConnectOptions
type Connection = MySqlConnection
sourcefn connect(&self) -> BoxFuture<'_, Result<Self::Connection, Error>> where
Self::Connection: Sized,
fn connect(&self) -> BoxFuture<'_, Result<Self::Connection, Error>> where
Self::Connection: Sized,
Establish a new database connection with the options specified by self
.
sourcefn log_statements(&mut self, level: LevelFilter) -> &mut Self
fn log_statements(&mut self, level: LevelFilter) -> &mut Self
Log executed statements with the specified level
sourcefn log_slow_statements(
&mut self,
level: LevelFilter,
duration: Duration
) -> &mut Self
fn log_slow_statements(
&mut self,
level: LevelFilter,
duration: Duration
) -> &mut Self
Log executed statements with a duration above the specified duration
at the specified level
. Read more
sourcefn disable_statement_logging(&mut self) -> &mut Self
fn disable_statement_logging(&mut self) -> &mut Self
Entirely disables statement logging (both slow and regular).
sourceimpl Debug for MySqlConnectOptions
impl Debug for MySqlConnectOptions
sourceimpl Default for MySqlConnectOptions
impl Default for MySqlConnectOptions
sourceimpl From<MySqlConnectOptions> for AnyConnectOptions
impl From<MySqlConnectOptions> for AnyConnectOptions
sourcefn from(options: MySqlConnectOptions) -> Self
fn from(options: MySqlConnectOptions) -> Self
Converts to this type from the input type.
sourceimpl FromStr for MySqlConnectOptions
impl FromStr for MySqlConnectOptions
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more