Облачная платформаAdvanced

Шаг 4: Log In to the DDM Schema

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

После создания DDM instance вы можете выполнить вход к нему, используя клиент, например Navicat, или подключиться к требуемой схеме в инстансе с помощью CLI или JDBC driver.

В этом разделе описывается, как выполнить вход в DDM instance или схему.

Подготовка

Прежде чем выполнить вход в ваш DDM instance или схему, необходимо получить её адрес подключения.

Получение адреса подключения схемы

  1. Log in в консоль DDM.
  2. В списке инстансов найдите требуемый DDM instance и нажмите его имя.
  3. В панели навигации слева выберите Schemas. На отображённой странице нажмите View в столбце Connection Address.

    В качестве альтернативы найдите целевую схему, нажмите её имя, чтобы перейти на страницу Basic Information. На вкладке Connection Address получите адреса подключения для CLI и JDBC.

    Note
    • Если включён балансировщик нагрузки, одному DDM instance будет назначен один плавающий IP-адрес, даже если у него несколько узлов. Вы можете использовать этот адрес для подключения к DDM instance с целью балансировки нагрузки.
    • Существуют некоторые исторические инстансы, которые не поддерживают балансировку нагрузки, поэтому у них несколько IP-адресов. Для балансировки нагрузки вы можете использовать строки подключения JDBC для подключения к ним.
    • Если созданы группы только для чтения, каждой группе будет назначен адрес балансировки нагрузки для изоляции сервисов.

Методы подключения

Подробности о методе 1 см. в Using Navicat to Log In to a DDM Instance.

Для получения подробной информации о методе 2 см. Using the MySQL CLI to Log In to a Schema.

Для получения подробной информации о методе 3 см. Using a JDBC Driver to Log In to a Schema.

Note
  • В целях безопасности выберите ECS в том же VPC, что и ваш DDM instance.
  • Убедитесь, что MySQL client установлен на требуемом ECS или драйвер подключения MySQL настроен.
  • Перед входом в DDM instance настройте его параметры в клиенте или драйвере подключения.

Использование Navicat для входа в DDM Instance

  1. Войдите в консоль DDM, найдите требуемый DDM instance и нажмите его имя.
  2. Обратитесь в техническую поддержку с просьбой добавить EIP в список разрешённых функций. В области Instance Information нажмите Bind. В открывшемся диалоговом окне выберите EIP и нажмите OK. Привяжите EIP к вашему DDM instance.
  3. В левой панели навигации нажмите значок VPC и выберите Access Control > Security Groups.
  4. На странице Security Groups найдите требуемую группу безопасности и нажмите Manage Rule в столбце Operation. На открывшейся странице нажмите Add Rule. Настройте правило группы безопасности по необходимости и нажмите OK.

    Note

    После привязки EIP к вашему DDM instance задайте строгие входящие и исходящие правила для группы безопасности, чтобы повысить безопасность базы данных.

  5. Откройте Navicat и нажмите Connection. В открывшемся диалоговом окне введите IP‑адрес хоста (EIP), имя пользователя и пароль (учётная запись DDM).

    Note

    Для клиентов Navicat рекомендуется Navicat12.

  6. Нажмите Test Connection. Если появилось сообщение об успешном подключении, нажмите OK. Подключение будет установлено через 1–2 минуты. Если подключение не удалось, будет показана причина сбоя. Измените необходимые данные и повторите попытку.
Note

Использование Navicat для доступа к DDM instance аналогично использованию других визуальных MySQL‑инструментов, таких как MySQL Workbench. Поэтому процедура подключения к DDM instance с помощью других визуальных MySQL‑инструментов опущена.

Использование MySQL CLI для входа в схему

  1. Войдите в требуемый ECS, откройте CLI и выполните следующую команду:

    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]
    Table 1 Описание параметра

    Пример параметра

    Описание

    Пример значения

    DDM_SERVER_ADDRESS

    IP-адрес экземпляра DDM

    192.168.0.200

    DDM_SERVER_PORT

    Порт подключения экземпляра DDM

    5066

    DDM_USER

    Учётная запись экземпляра DDM

    dbuser01

    DDM_DBNAME

    (Optional) Имя целевой схемы в экземпляре DDM

    -

    default-character-set=utf8

    (Optional) система кодировки символов UTF-8

    Настройте этот параметр, если при парсинге отображаются искажённые символы из‑за несоответствия кода подключения MySQL и фактически используемого кода.

    -

    default_auth=mysql_native_password

    (Optional) плагин аутентификации пароля, используемый по умолчанию

    -

    Note
    • Если вы используете клиент MySQL 8.0, установите default_auth в mysql_native_password.

  2. Просмотрите вывод команды. Ниже приведён пример вывода выполнения команды MySQL в Windows CLI.

    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 Driver для входа в схему

Note

Для выполнения следующих операций установите JDBC‑драйвер версии 5.1.49 или более поздней. Адрес загрузки JDBC‑драйвера: https://dev.mysql.com/doc/index-connectors.html.

  1. Загрузите требуемый JDBC‑драйвер.

    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);
    Note
    • Существует риск безопасности, если имя пользователя и пароль, используемые для аутентификации, записаны непосредственно в коде. Сохраните имя пользователя и пароль в зашифрованном виде в файле конфигурации или переменных окружения.
    • В этом примере имя пользователя и пароль хранятся в переменных окружения. Перед запуском примера при необходимости задайте переменные окружения EXAMPLE_USERNAME_ENV и EXAMPLE_PASSWORD_ENV.

    Для получения подробностей см. пример значения параметра в Table 2.

    Table 2 Описание параметра URL

    Параметр

    Описание

    Пример значения

    ip:port

    Указывает адрес подключения и номер порта для подключения к DDM instance.

    192.168.0.200:5066

    Смотрите Obtaining the Schema Connection Address, чтобы получить адрес JDBC‑подключения и номер порта.

    db_name

    Указывает имя схемы.

    db_5505

    В консоли DDM найдите требуемый instance и щелкните его имя. В панели навигации слева выберите Schemas, чтобы просмотреть имя схемы.

  3. Создайте объект Statement.

    Statement stmt = con.createStatement();

  4. Выполните требуемый SQL‑запрос.

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

  5. (Optional) Оптимизируйте код по мере необходимости.

    loadBalanceAutoCommitStatementThreshold=5&loadBalanceHostRemovalGracePeriod=15000&loadBalanceBlacklistTimeout=60000&loadBalancePingTimeout=5000&retriesAllDown=10&connectTimeout=10000&useSSL=true";
    Note
    • Параметры loadBalanceAutoCommitStatementThreshold и retriesAllDown должны быть настроены в соответствии с примером в 5. В противном случае может возникнуть бесконечный цикл во время переключения соединения, что приведёт к переполнению стека.
    • Для получения подробностей о конфигурации параметров см. Table 3.
    Таблица 3 Parameter description

    Параметр

    Описание

    Пример значения

    loadBalanceAutoCommitStatementThreshold

    Указывает количество операторов, выполненных до повторного подключения.

    • Если значение параметра установлено в 5, повторное подключение требуется после выполнения пяти SQL‑операторов (queries or updates) are executed.
    • Если установлено значение 0, вместо повторного подключения инициируется постоянное соединение.

    Когда автоматическая отправка отключена (autocommit установлен в false), система ожидает завершения транзакции и затем определяет, следует ли инициировать повторное подключение.

    5

    loadBalanceHostRemovalGracePeriod

    Указывает период ожидания перед удалением хоста из соединения балансировки нагрузки и его освобождением, когда он является активным хостом.

    15000

    loadBalanceBlacklistTimeout

    Указывает время в миллисекундах между проверками недоступных серверов, контролируя продолжительность пребывания сервера в глобальном черном списке.

    60000

    loadBalancePingTimeout

    Указывает время в миллисекундах ожидания ответа ping для каждого соединения балансировки нагрузки.

    5000

    retriesAllDown

    Указывает максимальное количество попыток опроса, когда все адреса подключения не удались.

    Если порог количества попыток будет достигнут и не будет получено действительных соединений, будет возвращена SQLException.

    10

    connectTimeout

    Указывает интервал тайм‑аута для установления socket‑соединения с сервером базы данных.

    Единица измерения: миллисекунда. Значение 0 указывает, что установление соединения никогда не истекает. Эта настройка параметра используется для JDK 1.4 и более поздних версий.

    10000

    socketTimeout

    Указывает интервал тайм‑аута для операции socket (чтение и запись).

    Единица измерения: миллисекунда. Значение 0 указывает, что операция socket никогда не истекает.

    Установите этот параметр в соответствии с требованиями вашего сервиса.

    useSSL

    Указывает, используется ли SSL‑соединение для подключения к DDM.

    true