The preferred method to pass authentication parameters to the
server (e.g., user, password, host) is through the MySQL configuration
file $HOME/.my.cnf.
Since specifying passwords on calls to
dbConnect
is a very bad idea (and so is specifying passwords through
shell variables),
the client code parses the configuration file $HOME/.my.cnf;
this file consists of zero or more sections, each starting with a
line of the form [section-name]
, for instance$ cat $HOME/.my.cnf
# this is a comment
[client]
user = dj
host = localhost
[rs-dbi]
database = s-data
[lasers]
user = opto
database = opto
password = pure-light
host = merced
...
[iptraffic]
host = data
database = iptraffic
This file should be readeable only by you.
Inside each section, MySQL parameters may be specified one per line
(e.g., user = opto
).
The R/S MySQL implementation always parses the [client]
and [rs-dbi]
sections, but you may define you own
project-specific sections to tailor its environment;
if the same parameter appears more than once, the last
(closer to the bottom) occurrence is used.
If you define a section, say, [iptraffic]
,
then instead of including all these parameters in the
call to dbConnect
, you simply supply the
name of the group
,
e.g., dbConnect(mgr, group = "iptraffic")
.
The most important parameters are user
,
password
, host
,
and dbname
.