全部产品
云市场

上手指南

更新时间:2019-09-20 15:09:48

概述

DRDS 快速接入流程图:

quickstart-intro

购买 DRDS 实例

  • 登录 阿里云主页,将鼠标依次移动到 产品>云计算基础服务>数据库 ,单击 分布式关系型数据库服务 DRDS 进入 DRDS 产品主页。

1

  • 在 DRDS 产品主页上,单击 立即购买 进入 DRDS 实例购买页面,根据提示完成 DRDS 实例购买。

  • 在购买页面,根据需要选择付费方式以及对应的 实例规格,单击立即购买。规格、付费方式等信息可参考 实例计费文档

drds-create-instance-order

  • 确认订单无误后,单击 去支付 进行支付和实例创建。

drds-create-instance-confirm

  • 支付完成并成功创建 DRDS 实例后,在 DRDS 控制台>实例列表 可看到已购买到的 DRDS 实例。

drds-create-instance-list

创建 DRDS 数据库

  • DRDS 控制台左侧菜单栏选择 实例列表 ,单击需要建数据库的 DRDS 实例进入实例基本信息页。

  • 单击页面右上角 创建数据库 按钮。

  • 填写数据库基本信息,选择 水平拆分 模式,对于存储、并发规模较大的在线业务,MySQL 存储类型推荐选用 POLARDB for MySQL

    drds-crt-db-basic-info

  • 点击 下一步,选择当前 DRDS 创建数据库所需的 POLARDB 实例,此时可以选择新购买 POLARDB 实例,也可以选择已有的 POLARDB 实例。

    drds-create-db

  • 建库预览,DRDS 默认会在 1 个 POLARDB 实例上创建 8 个物理库,总物理分库数量为选择的 MySQL 实例数量 * 8。

    drds_create_database_preview

  • 单击 下一步 进行 DRDS 数据库创建,DRDS 数据库列表可查看创建状态。请耐心等待创建完成。

    drds_create_database_creating

连接 DRDS 进行 SQL 操作

  • 进入 DRDS 数据库详情页 找到连接信息,由 “ip(domain)”、“port”、“dbname”、“user” 组成。您也可以参考 外网访问 文档临时开通公网地址,从您本地机器连接进行试用,正式使用请记得关闭,确保安全

    drds_create_table_connection_info

  • 获取到连接信息后,可通过 第三方工具 或者 程序代码 两种方式进行连接。

    • MySQL 命令行

      1. //MySQL 命令行连接
      2. mysql -h${DRDS_IP_ADDRESS} -P${DRDS_PORT} -u${user} -p${password} -D${DRDS_DBNAME}

      注意:

      DRDS 兼容 MySQL 官方命令行客户端 ,支持 5.X 系列版本, 暂不支持 8.0 客户端,如遇密码错误等提示信息,请尝试安装使用 5.X 版本客户端

    • 第三方工具

      • MySQL Workbench(推荐)
      • SQLyog
      • Sequel Pro
      • Navicat for MySQL

      注意:

      第三方 GUI 客户端可执行基础的数据库操作,包括数据的增删改查和 DDL 操作,对于工具高级特性,DRDS 可能并不支持。推荐使用云上 DMS 产品。

    • 通过 MySQL 官方驱动或者符合 MySQL 官方交互协议的程序进行连接

      • JDBC Driver for MySQL (Connector/J)
      • Python Driver for MySQL (Connector/Python)
      • C++ Driver for MySQL (Connector/C++)
      • C Driver for MySQL (Connector/C)
      • ADO.NET Driver for MySQL (Connector/NET)
      • ODBC Driver for MySQL (Connector/ODBC)
      • PHP Drivers for MySQL (mysqli, ext/mysqli, PDO_MYSQL, PHP_MYSQLND)
      • Perl Driver for MySQL (DBD::mysql)
      • Ruby Driver for MySQL (ruby-mysql)

      以 JAVA 为例

      1. //JDBC
      2. Class.forName("com.mysql.jdbc.Driver");
      3. Connection conn = DriverManager.getConnection("jdbc:mysql://drdsxxxxx.drds.aliyuncs.com:3306/doc_test","doc_test","doc_test_password");
      4. //...
      5. conn.close();
    • 应用连接池配置示例(JAVA)

      • 推荐使用 Druid 连接池连接 DRDS,关于 Druid 的详细信息请参考 Druid Github 资源

      • Spring 配置

        1. <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        2. <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        3. <!-- 基本属性 URL、user、password -->
        4. <property name="url" value="jdbc:mysql://drdsxxxxx.drds.aliyuncs.com:port/db?autoReconnect=true&rewriteBatchedStatements=true&socketTimeout=30000&connectTimeout=3000" />
        5. <property name="username" value="abc" />
        6. <property name="password" value="123456" />
        7. <!-- 配置初始化大小、最小、最大 -->
        8. <property name="maxActive" value="20" />
        9. <property name="initialSize" value="3" />
        10. <property name="minIdle" value="3" />
        11. <!-- maxWait 获取连接等待超时的时间 -->
        12. <property name="maxWait" value="60000" />
        13. <!-- timeBetweenEvictionRunsMillis 间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
        14. <property name="timeBetweenEvictionRunsMillis" value="60000" />
        15. <!-- minEvictableIdleTimeMillis 一个连接在池中最小空闲的时间,单位是毫秒-->
        16. <property name="minEvictableIdleTimeMillis" value="300000" />
        17. <!-- 检测连接是否可用的 SQL -->
        18. <property name="validationQuery" value="select 'z' from dual" />
        19. <!-- 是否开启空闲连接检查 -->
        20. <property name="testWhileIdle" value="true" />
        21. <!-- 是否在获取连接前检查连接状态 -->
        22. <property name="testOnBorrow" value="false" />
        23. <!-- 是否在归还连接时检查连接状态 -->
        24. <property name="testOnReturn" value="false" />
        25. <!-- 是否在固定时间关闭连接。此参数默认可以不加,但是增加此参数可以均衡后端服务节点参数 -->
        26. <property name="phyTimeoutMillis" value="1800000" />
        27. </bean>