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.