在终端运行下面几条命令安装MySQL:
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
检查mysql是否已经安装好:
sudo netstat -tap | grep mysql
如果看到有mysql 的socket处于 listen 状态则表示安装成功。
安装【方案】Python的mysql驱动连不上数据库修改root验证方式和密码。
在R中安装RMySQL包:
>install.packages("RMySQL")
下面进行测试:
> library(RMySQL)
Loading required package: DBI
> con <- dbConnect(MySQL(),username='root',password='***')
> DBI::dbGetInfo(con)
$host
[1] "localhost"
$user
[1] "root"
$dbname
[1] ""
$conType
[1] "Localhost via UNIX socket"
$serverVersion
[1] "5.7.25-0ubuntu0.18.04.2"
$protocolVersion
[1] 10
$threadId
[1] 4
$rsId
list()
几个操作都没有报错,没有问题。只要稍微改动下密码,就会抛出错误:
> con <- dbConnect(MySQL(),username='root',password='**')
Error in .local(drv, ...) :
Failed to connect to database: Error: Access denied for user 'root'@'localhost' (using password: YES)
在使用ip进行连接时发现一直报错:
Error in .local(drv, ...) :
Failed to connect to database: Error: Can't connect to MySQL server on '10.19.26.41' (36)
百度谷歌了一堆,大都不相干。最后发现是因为mysql为了安全起见,默认使用127.0.0.1,我们将/etc/mysql/mysql.conf.d/mysqld.cnf
中的bind_address=127.0.0.1
注释掉即可。注意,要重启mysql(service mysql restart
)。
相关资料:
参考:
网友评论