Cannot connect to MySql through R. (Error with host argument) - mysql

I opened SQL clicked on the database I wanted (named bb) then at the top I choose Database then Manage Connections. This showed me the Hostname as 127.0.0.1, port as 3306, username as root and there should be no password. Plugged that into to dbConnect and it is giving the following errors
This is the code I have and I am trying to open a connection.
> con <- dbConnect(RMySQL::MySQL(), dbname = "bb", username = "root", host =
"127.0.0.1:3306")
Error in .local(drv, ...) :
Failed to connect to database: Error: Unknown MySQL Server Host
'127.0.0.1:3306' (11001)
> con <- dbConnect(RMySQL::MySQL(), dbname = "bb", username = "root", host =
"127.0.0.1", port = 3306)
Error in .local(drv, ...) :
Failed to connect to database: Error: Can't connect to MySQL server on
'127.0.0.1' (0)
> con <- dbConnect(RMySQL::MySQL(), dbname = "bb", username = "root", host =
"127.0.0.1", port = "3306")
Error in .local(drv, ...) : Argument port must be an integer value
All of them are returning errors. I don't know why it is not working.
Please Help and Thank you.

Related

R ODBC: odbc::odbcListColumns doesn't list columns

I fully configured ODBC on Linux Ubuntu 20.04.
R can perfectly connect to the datasource but then it cannot even list columns:
con <- DBI::dbConnect(odbc::odbc(),
Driver = "MySQL ODBC 8.0 Driver",
Server = "127.0.0.1",
UID = "root",
PWD = "password",
Port = 3306,
database = "mydb",
)
odbc::odbcListColumns(con, table = "mytable")
Error:
Error in connection_sql_columns(connection#ptr, table_name = validateObjectName(table, :
null access
I'm using this documentation page: https://db.rstudio.com/r-packages/odbc/
Any ideas?

R - Error trying to connect to a MySQL server

I'm trying to connect to a MySQL database using this code:
con <- dbConnect(RMySQL::MySQL(),
dbname = "XX",
host = "YY",
port = ZZ,
user = "AA",
password = "BB"
)
And I'm getting this error:
Error in .local(drv, ...) :
Failed to connect to database: Error: Can't connect to MySQL server on 'YY' (0)
I've tried with this other code:
pool <- dbPool(drv = RMySQL::MySQL(),
dbname = "XX",
host = "YY",
username = "AA",
password = "BB",
port = ZZ
)
And get the same error:
Error in .local(drv, ...) :
Failed to connect to database: Error: Can't connect to MySQL server on 'YY' (0)
I can connect to this database using Workbench, so I guess it's a problem with R.
Any solution to this problem?
Edit: something I didn't say, the server is remote, so I had to use a SSH key to make the tunnel to the server to be able to access from Workbench. So maybe this should be considered to solve the issue.

How to connect to sql database located locally in r shiny

I am trying to connect to SQL database located in the same directory as in my app.R file but I get the following error if I try to connect.
con <- dbConnect(RMySQL::MySQL(), dbname = "super_data")
Error in .local(drv, ...) :
Failed to connect to database: Error: Can't connect to MySQL server on 'localhost' (0)
mydb = dbConnect(MySQL(), user='root', password='', dbname='super_data.sql', host='localhost')
Error in .local(drv, ...) :
Failed to connect to database: Error: Can't connect to MySQL server on 'localhost' (0)
Try with the following code:
conn <- RMySQL::dbConnect(RMySQL::MySQL(),
user = "root",
password = "mypassword",
dbname = "mydatabase",
host = "127.0.0.1", # Instead of localhost
port = 3306) # Default MySQL port
Hope this can help

How to connect with MySQL from R?

I am trying to connect with MySQL from R (version R-3.3.3). Unfortunately, I get the error. I tried to change the version to R-3.4.0 but the error is persistent.
library(DBI)
library(RMySQL)
db <- dbConnect(MySQL(), dbname = "example", host = "localhost",
port = 3306, user = "root",
password = "****")
Error: Error in .local(drv, ...) : Failed to connect to database:
Error: Lost connection to MySQL server at 'reading authorization
packet', system error: 10060
Please help!

AWS RDS: mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'databasetest.us-east-1.rds.amazonaws.com' (110)")

I have this code below to connect to a rds instance.
But Im having this error:
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'databaseTest.us-east-1.rds.amazonaws.com' (110)")
Do you see anything wrong with the code?
import boto.rds
import MySQLdb
instanceID = "databaseTest"
username = "root"
password = "pass"
getDBEndpoint = conn.get_all_dbinstances(instance_id=instanceID)[0].endpoint
dbEndpoint = getDBEndpoint[0]
conn = MySQLdb.connect(host=dbEndpoint,user=username,passwd=password, db = dbName, port = 3306)
I created the db instance like this:
db = conn.create_dbinstance(instanceID,dbSize,instanceType, username, password, port = instancePort, engine=dbEngine, db_name = dbName)