[R] Confirming MySQL Alive
Ivan Krylov
kry|ov@r00t @end|ng |rom gm@||@com
Sat Oct 7 18:00:20 CEST 2023
В Sat, 7 Oct 2023 11:09:25 -0400
"Stephen H. Dawson, DSL via R-help" <r-help using r-project.org> пишет:
> sudo: a terminal is required to read the password; either use the -S
> option to read from standard input or configure an askpass helper
> sudo: a password is required
sudo is giving you a hint here. Normally it requires an interactive
terminal (that it can set up to disable character echo), but if you
give it the -S flag, it will be happy to read the password from stdin.
> What are some of the best practices to confirm a box I am hitting for
> data with R , either local or across the network, has MySQL up and
> running?
Wrap (a copy of) the connection code in try() or tryCatch() and see if
it fails.
If the MySQL DBI driver doesn't have a timeout option and can hang
indefinitely, you can try R.utils::withTimeout (implemented using
setTimeLimit(), so requires the DBI code to be interruptible / check
for interrupts). Alternatively, on a GNU/Linux box there's the timeout
utility (see `man 1 timeout`) that you could use together with the
`mysql` command-line client to try to establish the connection. Failing
everything else, there's socketConnection() to check whether anything
is listening on a given address and TCP port (but not for a UNIX domain
socket you would normally use to connect to the local server).
Beware of the time-of-check to time-of-use problem: a particularly
unlucky program could see a working MySQL server and then have it fail
later when it actually tries to work with it.
--
Best regards,
Ivan
More information about the R-help
mailing list