文档首页> 分布式数据库中间件 DDM> 快速入门> 步骤四:连接DDM逻辑库
更新时间:2024-03-28 GMT+08:00
分享

步骤四:连接DDM逻辑库

用户购买DDM实例后,可以使用Navicat等客户端连接DDM实例,也可以使用CLI或JDBC驱动连接DDM实例中的目标逻辑库。

本章节指导用户如何连接DDM实例或逻辑库。

准备工作

连接DDM实例或逻辑库前,需要获取DDM实例或逻辑库的连接地址。

获取DDM逻辑库连接地址

  1. 登录分布式数据库中间件控制台。
  2. 在实例管理界面单击DDM实例名称,进入实例基本信息页。
  3. 在左侧导航栏选择“逻辑库管理”。
  4. 单击逻辑库名称进入逻辑库基本信息页面。
  5. “连接地址栏”获取“命令行连接地址”“jdbc连接地址”

    图1 逻辑库连接地址
    • 如果DDM实例有多个节点,页面内网地址只提供了一个IP地址,这是因为DDM集群支持了负载均衡。可通过连接该地址连接到DDM集群,达到负载均衡效果。
    • 有部分历史实例的内网地址提供了多个IP地址,是因为DDM集群未支持负载均衡,可通过jdbc连接串达到负载均衡效果。
    • 如果创建了只读组,每个组都会分配一个负载均衡连接地址,进行业务隔离。

连接方法概述

方法一:Navicat客户端连接DDM实例

方法二:MySQL命令行连接DDM逻辑库

方法三:JDBC驱动连接DDM逻辑库

方法四:控制台连接DDM实例

  • 为保证系统安全,请使用与DDM实例处于同一VPC的弹性云服务器。
  • 弹性云服务器已安装MySQL客户端或已配置MySQL连接驱动。
  • 连接DDM实例前,需要先在工具中配置DDM实例信息。

Navicat客户端连接DDM实例

  1. 登录分布式数据库中间件服务,单击需要连接的DDM实例名称,进入实例基本信息页面。
  2. “实例信息”模块的弹性公网IP单击“绑定”。绑定已购买的公网IP。
  3. 在DDM管理控制台左侧选择虚拟私有云图标。单击“访问控制>安全组”
  4. 在安全组界面,单击操作列的“配置规则”,进入安全组详情界面。在安全组详情界面,单击“添加规则”,弹出添加规则窗口。根据界面提示配置安全组规则,设置完成后单击“确定”即可。

    绑定弹性公网IP后,建议您在内网安全组中设置严格的出入规则,以加强数据库安全性。

  5. 打开Navicat客户端,单击“连接”。在新建连接窗口中填写主机IP地址(弹性公网IP地址)、用户名和密码(DDM账号、密码)。

    Navicat客户端推荐使用版本为Navicat12。

  6. 单击“连接测试”,如果显示连接成功,单击“确定”,等待1-2分钟即可连接成功。连接失败会直接弹出失败原因,请修改后重试。

通过其他可视化的MySQL工具(例如 Workbench)连接DDM实例的操作与此章基本一致,不做详细描述。

MySQL命令行连接DDM逻辑库

  1. 登录弹性云服务器,打开命令行工具,输入以下命令。

    mysql -h ${DDM_SERVER_ADDRESS} -P${DDM_SERVER_PORT} -u${DDM_USER} -p [-D${DDM_DBNAME}] [--default-character-set=utf8][--default_auth=mysql_native_password] [--ssl]
    表1 参数说明

    参数示例

    参数填写说明

    参数举例

    DDM_SERVER_ADDRESS

    DDM实例所在IP地址。

    192.168.0.200

    DDM_SERVER_PORT

    DDM实例连接端口。

    5066

    DDM_USER

    DDM实例账号。

    dbuser01

    DDM_DBNAME

    DDM实例逻辑库名,选填。

    -

    default-character-set=utf8

    指定字符编码为UTF-8,选填。

    当MySQL连接编码和实际编码不一致,导致DDM解析出现乱码时请配置该参数。

    -

    default_auth=mysql_native_password

    默认使用密码认证插件。

    -

    ssl

    (可选)使用SSL加密连接,需要先开启SSL。

    -

    • 如果您使用了MySQL 8.0的客户端,需要增加default_auth=mysql_native_password参数。
    • 如果您开启了SSL特性,默认使用加密连接。

  2. 下面为Windows服务器命令行窗口中使用表中举例参数MySQL命令连接服务器的回显情况。

    C:\Users\testDDM>mysql -h192.168.0.200 -P5066 -Ddb_5133 -udbuser01 -p
    Enter password:
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
     
    Welcome to the MySQL monitor.  Commands end with ;or \g.
    Your MySQL connection id is 5
    Server version: 5.6.29
     
    Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
     
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
     
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
     
    mysql>

JDBC驱动连接DDM逻辑库

使用以下操作步骤前,确保已安装JDBC驱动,建议JDBC驱动版本选择5.1.49及以上版本,JDBC驱动下载地址:https://dev.mysql.com/doc/index-connectors.html

  1. 加载驱动程序。

    Class.forname(com.mysql.jdbc.Driver);

  2. 打开数据库连接。

    String username = "EXAMPLE_USERNAME_ENV" ;
    String password = "EXAMPLE_PASSWORD_ENV" ; 
    String url = "jdbc:mysql://ip:port/db_name";
    Connection con = DriverManager.getConnection(url , username , password);
    • 认证用的用户名和密码直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中存放(密码应密文存放,使用时解密),确保安全。
    • 本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)EXAMPLE_USERNAME_ENV和EXAMPLE_PASSWORD_ENV。

    上述样例中URL的参数取值可参见表2设置。

    表2 URL参数说明

    参数名称

    参数说明

    推荐取值

    ip:port

    连接地址和端口,用于连接DDM。

    192.168.0.200:5066

    获取方法:参考获取DDM逻辑库连接地址获取jdbc连接地址和端口信息。

    db_name

    连接逻辑库名称。

    db_5505

    获取方法:在DDM管理控制台,单击目标实例名称,在左侧导航栏中选择“逻辑库管理”,查看逻辑库名称。

  3. 创建Statement对象。

    Statement stmt = con.createStatement();

  4. 执行SQL语句。

    ResultSet rs = stmt.executeQuery("select now() as Systemtime");
    con.close();

  5. (可选)优化代码。

    loadBalanceAutoCommitStatementThreshold=5&loadBalanceHostRemovalGracePeriod=15000&loadBalanceBlacklistTimeout=60000&loadBalancePingTimeout=5000&retriesAllDown=10&connectTimeout=10000&useSSL=true";
    • loadBalanceAutoCommitStatementThresholdretriesAllDown参数必须按照以上样例进行配置,否则在连接切换时可能进入死循环,导致栈溢出。
    • 其余参数及相关配置说明请参见表3
    表3 参数说明

    参数名称

    参数说明

    推荐取值

    loadBalanceAutoCommitStatementThreshold

    表示连接上执行多少个语句后会重新选择连接。

    • 如果取值为5,则当执行5个sql后(Queries或者updates等),将会重新选择连接。
    • 如果取值为0,则表示“粘性连接,不重新选择连接”。

    关闭自动提交时(autocommit=false)会等待事务完成再考虑是否重新选择连接。

    5

    loadBalanceHostRemovalGracePeriod

    设置宽限期,以等待主机从负载均衡连接中移除,当主机当前是活动主机时释放主机。

    15000

    loadBalanceBlacklistTimeout

    通过控制服务器在全局黑名单中的存留时间,检查不可用服务器之间的时间间隔(以毫秒为单位)。

    60000

    loadBalancePingTimeout

    使用负载均衡连接时,等待每个负载均衡连接ping响应的毫秒数。

    5000

    retriesAllDown

    当所有的连接地址都无法连接时,轮询重试的最大次数。

    重试次数达到阈值仍然无法获取有效连接,将会抛出SQLException。

    10

    connectTimeout

    和数据库服务器建立socket连接时的超时。

    单位:毫秒,0表示永不超时,适用于JDK 1.4及更高版本。

    10000

    socketTimeout

    socket操作(读写)超时。

    单位:毫秒, 0表示永不超时。

    根据业务实际情况合理配置。

    useSSL

    使用SSL加密连接访问DDM。

    true

控制台连接DDM实例

  1. 在浏览器上输入DDM的Console地址、账号和密码,登录分布式数据库中间件服务管理控制台。
  2. 在侧边栏选择“实例管理”
  3. 在实例列表操作栏,单击“登录”

    系统自动跳转至数据管理服务管理控制台的实例登录页面。
    图2 实例登录页面

  4. 在实例登录窗口中输入DDM账号和密码。
  5. 单击“测试连接”
  6. (可选)选择“定时采集”“SQL执行记录”
  7. 确认无误后,单击“登录”
分享:

    相关文档

    相关产品