R: Connect/disconnect to a MariaDB DBMS

dbConnect,MariaDBDriver-method {RMariaDB} | R Documentation

## Connect/disconnect to a MariaDB DBMS

### Description

These methods are straight-forward implementations of the corresponding generic functions.

### Usage

    ## S4 method for signature 'MariaDBDriver'
    dbConnect(
      drv,
      dbname = NULL,
      username = NULL,
      password = NULL,
      host = NULL,
      unix.socket = NULL,
      port = 0,
      client.flag = 0,
      groups = "rs-dbi",
      default.file = NULL,
      ssl.key = NULL,
      ssl.cert = NULL,
      ssl.ca = NULL,
      ssl.capath = NULL,
      ssl.cipher = NULL,
      ...,
      bigint = c("integer64", "integer", "numeric", "character"),
      timeout = 10,
      timezone = "+00:00",
      timezone_out = NULL
    )

    MariaDB()

### Arguments

`drv` | an object of class MariaDBDriver or MariaDBConnection.
`dbname` | string with the database name or NULL. If not NULL, the connection sets the default database to this value.
`username, password` | Username and password. If username omitted, defaults to the current user. If password is omitted, only users without a password can log in.
`host` | string identifying the host machine running the MariaDB server or NULL. If NULL or the string `"localhost"`, a connection to the local host is assumed.
`unix.socket` | (optional) string of the unix socket or named pipe.
`port` | (optional) integer of the TCP/IP default port.
`client.flag` | (optional) integer setting various MariaDB client flags, see Client-flags for details.
`groups` | string identifying a section in the `default.file` to use for setting authentication parameters (see `MariaDB()`).
`default.file` | string of the filename with MariaDB client options, only relevant if `groups` is given. The default value depends on the operating system (see references), on Linux and OS X the files `~/.my.cnf` and `~/.mylogin.cnf` are used.
`ssl.key` | (optional) string of the filename of the SSL key file to use.
`ssl.cert` | (optional) string of the filename of the SSL certificate to use.
`ssl.ca` | (optional) string of the filename of an SSL certificate authority file to use.
`ssl.capath` | (optional) string of the path to a directory containing the trusted SSL CA certificates in PEM format.
`ssl.cipher` | (optional) string list of permitted ciphers to use for SSL encryption.
`...` | Unused, needed for compatibility with generic.
`bigint` | The R type that 64-bit integer types should be mapped to, default is bit64::integer64, which allows the full range of 64 bit integers.
`timeout` | Connection timeout, in seconds. Use `Inf` or a negative value for no timeout.
`timezone` | (optional) time zone for the connection, the default corresponds to UTC. Set this argument if your server or database is configured with a different time zone than UTC. Set to `NULL` to automatically determine the server time zone.
`timezone_out` | The time zone returned to R. The default is to use the value of the `timezone` argument, `"+00:00"` is converted to `"UTC"` If you want to display datetime values in the local timezone, set to `Sys.timezone()` or `""`. This setting does not change the time values returned, only their display.

### Time zones

MySQL and MariaDB support named time zones, they must be installed on the server. See https://dev.mysql.com/doc/mysql-g11n-excerpt/8.0/en/time-zone-support.html for more details. Without installation, time zone support is restricted to UTC offset, which cannot take into account DST offsets.

### References

Configuration files: https://mariadb.com/kb/en/library/configuring-mariadb-with-mycnf/

### Examples

    ## Not run:
    # Connect to a MariaDB database running locally
    con <- dbConnect(RMariaDB::MariaDB(), dbname = "mydb")
    # Connect to a remote database with username and password
    con <- dbConnect(RMariaDB::MariaDB(), host = "mydb.mycompany.com",
      user = "abc", password = "def")
    # But instead of supplying the username and password in code, it's usually
    # better to set up a group in your .my.cnf (usually located in your home
    directory). Then it's less likely you'll inadvertently share them.
    con <- dbConnect(RMariaDB::MariaDB(), group = "test")

    # Always cleanup by disconnecting the database
    dbDisconnect(con)

    ## End(Not run)

    # All examples use the rs-dbi group by default.
    if (mariadbHasDefault()) {
      con <- dbConnect(RMariaDB::MariaDB(), dbname = "test")
      con
      dbDisconnect(con)
    }
    if (mariadbHasDefault()) {
    # connect to a database and load some data
    con <- dbConnect(RMariaDB::MariaDB(), dbname = "test")
    dbWriteTable(con, "USArrests", datasets::USArrests, temporary = TRUE)

    # query
    rs <- dbSendQuery(con, "SELECT * FROM USArrests")
    d1 <- dbFetch(rs, n = 10)      # extract data in chunks of 10 rows
    dbHasCompleted(rs)
    d2 <- dbFetch(rs, n = -1)      # extract all remaining data
    dbHasCompleted(rs)
    dbClearResult(rs)
    dbListTables(con)

    # clean up
    dbDisconnect(con)
    }

[Package RMariaDB version 1.1.1 Index]