更新时间:2022-02-22 GMT+08:00

步骤六:连接DDM实例或逻辑库

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

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

准备工作

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

获取DDM实例连接地址

  1. 登录DDM管理控制台。
  2. 在左侧选择“数据库> 分布式数据库中间件”,进入实例管理页面。
  3. 单击左侧菜单栏的“实例管理”。在实例管理界面单击DDM实例名称。
  4. 在实例信息页的“网络信息”模块,找到“连接地址”

    连接DDM时,如果5次输入错误密码,系统将会自动锁定20分钟。

获取DDM逻辑库连接地址

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

    连接DDM时,如果5次输入错误密码,系统将会自动锁定20分钟。

连接方法概述

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

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

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

方法四:Console界面连接DDM实例

  1. 为保证系统安全,请使用与DDM实例处于同一VPC的弹性云服务器。
  2. 弹性云服务器已安装MySQL客户端或已配置MySQL连接驱动。
  3. 连接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]
    表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

    默认使用密码认证插件。

    -

    假如您使用了 MySQL 8.0的客户端,需要增加 default_auth=mysql_native_password参数。

  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逻辑库

  1. 加载驱动程序。

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

    建议JDBC驱动版本为5.1.35~5.1.45。

  2. 打开数据库连接。

    String username = "dbuser01" ;
    String password = "xxxxxx" ; 
    String url = "jdbc:mysql://192.168.0.200:5066/db_5133";
    Connection con = DriverManager.getConnection(url , username , password);

  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";
    • loadBalanceAutoCommitStatementThresholdretriesAllDown参数必须按照以上样例进行配置,否则在连接切换时可能进入死循环,导致栈溢出。
    • loadBalanceAutoCommitStatementThreshold:表示执行多少个语句后重新选择连接。
    • loadBalanceHostRemovalGracePeriod:设置宽限期,以等待主机从负载均衡连接中移除,当主机当前是活动主机时释放主机。
    • loadBalanceBlacklistTimeout:通过控制服务器在全局黑名单中的生存时间,检查不可用服务器之间的时间间隔(以毫秒为单位)。
    • loadBalancePingTimeout:使用负载平衡连接时,等待每个负载平衡物理连接ping响应的时间(以毫秒为单位)。
    • retriesAllDown:当所有的连接地址都无法连接时,轮询重试的最大次数。重试次数达到阈值仍然无法获取有效连接,将会抛出SQLException
    • connectTimeout:套接字连接的超时(毫秒),其中0表示没有超时。只能在JDK-1.4或更高版本上工作。默认为“0”。

Console界面连接DDM实例

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

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

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