上手指南
概述
DRDS 快速接入流程图:
购买 DRDS 实例
- 登录 阿里云主页,将鼠标依次移动到 产品>云计算基础服务>数据库 ,单击 分布式关系型数据库服务 DRDS 进入 DRDS 产品主页。
在 DRDS 产品主页上,单击 立即购买 进入 DRDS 实例购买页面,根据提示完成 DRDS 实例购买。
- 确认订单无误后,单击 去支付 进行支付和实例创建。
- 支付完成并成功创建 DRDS 实例后,在 DRDS 控制台>实例列表 可看到已购买到的 DRDS 实例。
创建 DRDS 数据库
DRDS 控制台左侧菜单栏选择 实例列表 ,单击需要建数据库的 DRDS 实例进入实例基本信息页。
单击页面右上角 创建数据库 按钮。
填写数据库基本信息,选择 水平拆分 模式,对于存储、并发规模较大的在线业务,MySQL 存储类型推荐选用 POLARDB for MySQL
点击 下一步,选择当前 DRDS 创建数据库所需的 POLARDB 实例,此时可以选择新购买 POLARDB 实例,也可以选择已有的 POLARDB 实例。
建库预览,DRDS 默认会在 1 个 POLARDB 实例上创建 8 个物理库,总物理分库数量为选择的 MySQL 实例数量 * 8。
单击 下一步 进行 DRDS 数据库创建,DRDS 数据库列表可查看创建状态。请耐心等待创建完成。
连接 DRDS 进行 SQL 操作
进入 DRDS 数据库详情页 找到连接信息,由 “ip(domain)”、“port”、“dbname”、“user” 组成。您也可以参考 外网访问 文档临时开通公网地址,从您本地机器连接进行试用,正式使用请记得关闭,确保安全。
获取到连接信息后,可通过 第三方工具 或者 程序代码 两种方式进行连接。
MySQL 命令行
//MySQL 命令行连接
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 为例
//JDBC
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://drdsxxxxx.drds.aliyuncs.com:3306/doc_test","doc_test","doc_test_password");
//...
conn.close();
应用连接池配置示例(JAVA)
推荐使用 Druid 连接池连接 DRDS,关于 Druid 的详细信息请参考 Druid Github 资源。
Spring 配置
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<!-- 基本属性 URL、user、password -->
<property name="url" value="jdbc:mysql://drdsxxxxx.drds.aliyuncs.com:port/db?autoReconnect=true&rewriteBatchedStatements=true&socketTimeout=30000&connectTimeout=3000" />
<property name="username" value="abc" />
<property name="password" value="123456" />
<!-- 配置初始化大小、最小、最大 -->
<property name="maxActive" value="20" />
<property name="initialSize" value="3" />
<property name="minIdle" value="3" />
<!-- maxWait 获取连接等待超时的时间 -->
<property name="maxWait" value="60000" />
<!-- timeBetweenEvictionRunsMillis 间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- minEvictableIdleTimeMillis 一个连接在池中最小空闲的时间,单位是毫秒-->
<property name="minEvictableIdleTimeMillis" value="300000" />
<!-- 检测连接是否可用的 SQL -->
<property name="validationQuery" value="select 'z' from dual" />
<!-- 是否开启空闲连接检查 -->
<property name="testWhileIdle" value="true" />
<!-- 是否在获取连接前检查连接状态 -->
<property name="testOnBorrow" value="false" />
<!-- 是否在归还连接时检查连接状态 -->
<property name="testOnReturn" value="false" />
<!-- 是否在固定时间关闭连接。此参数默认可以不加,但是增加此参数可以均衡后端服务节点参数 -->
<property name="phyTimeoutMillis" value="1800000" />
</bean>
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论