天天看点

在AWS上创建MySQL数据库并在RStudio里连接与操作数据库

今天参加了一个SQL的Workshop,本来早上九点实在是对我有点早想着不来的,不过发现并没有用过AWS,就还是来看一看。这里是这次Workshop的Github连接:Learning Analytics Curriculum & Teaching

详情还是参见Github,这里仅为简单罗列重点内容,有问题可以私信!

用R连接的好处就是可以直接在R里面操作数据库并进行数据分析,不需要到处.csv的中间文件,然后再加载进R的工作空间,也算是效率上的小提升吧!

拥有一个Amazon Web Services(AWS)账号

注册地址:https://aws.amazon.com/

*注:需要信用卡,但是以下操作皆免费,也许需要科学上网。

在AWS上创建一个MySQL的实例

  1. 登录你的AWS账号
  2. 找到

    Services

    → \rightarrow →

    Database

    → \rightarrow →

    RDS

  3. 点击

    Create Database

  4. Choose a database creation method

    下选择

    Standard Create

  5. Engine options

    里选择

    MySQL

  6. Templates

    选择

    Free tier

  7. Settings

    中设置

    DB instance identifier

    ,如

    sqltest

  8. Settings

    下的

    Credential settings

    中设置

    username

    password

  9. 将Under

    Connectivity

    中的

    Additional connectivity configuration

    里的

    Publicly accessible

    勾选为

    Yes

  10. Additional configuration

    里设置

    database name

    ,如

    testdb

  11. 不要勾选

    Automatic backups

  12. 点击

    Create database

设置Security Group

  1. Security Groups

    里点击

    Inbound

    然后点击

    Edit

  2. 点击

    Add Rule

    选择

    SQL/Aurora

    修改

    Source

    My IP

用R连接AWS上的数据库

  • DBI: A database interface definition for communication between R and relational database management systems. All classes in this package are virtual and need to be extended by the various R/DBMS implementations.
  • RMySQL: Legacy ‘DBI’ interface to ‘MySQL’ / ‘MariaDB’ based on old code ported from S-PLUS. A modern ‘MySQL’ client based on ‘Rcpp’ is available from the ‘RMariaDB’ package.
library(DBI)
library(RMySQL)

db_user <- 'admin'
db_password <- 'your_password'
db_name <- 'testdb'
# 这个是RDS=>Databases=>Connectivity&security里面的Endpoint
db_host <- 'sqltest.c24zvetb1ohx.us-east-2.rds.amazonaws.com'
db_port <- 3306

mydb <- dbConnect(MySQL(), user = db_user, password = db_password, dbname = db_name, host = db_host, port = db_port)

summary(mydb)
           

在R里面操作数据库