getSession

(No version information available, might only be in Git)

getSession — Підключається до сервера MySQL

Опис

mysql_xdevapi\getSession(string $uri): mysql_xdevapi\Session

Підключається до MySQL.

Список параметрів

uri

URI до сервера MySQL, як mysqlx://user:password@host

Формат URI:

scheme://[user[:[password]]@]target[:port][?attribute1=value1&attribute2=value2...

  • scheme: обов'язковий протокол з'єднання

    У mysql_xdevapi це завжди 'mysqlx' (для X Protocol)

  • user: необов'язковий, обліковий запис користувача MySQL для автентифікації

  • password: необов'язковий пароль користувача MySQL для аутентифікації

  • target: обов'язковий екземпляр сервера, до якого відноситься з'єднання:

    *TCP-з'єднання (ім'я хоста, адреса IPv4 або IPv6)

    *Шлях до сокету Unix (локальний шлях до файлу)

    *Іменований канал Windows (локальний шлях до файлу)

  • port: необов'язковий мережевий порт сервера MySQL.

    за замовчуванням порт для X Protocol дорівнює 33060

  • ?attribute=value: цей елемент є необов'язковим та визначає словник даних, який містить різні параметри, у тому числі:

    • Атрибутauth(механізм аутентифікації), оскільки він відноситься до зашифрованих з'єднань. Для отримання додаткової інформації дивіться» Параметри команди для зашифрованих з'єднань. Підтримуються такі значення:plain mysql41 external, иsha256_mem

    • Атрибутconnect-timeoutвпливає з'єднання, а чи не на наступні операції. Він встановлюється для кожного з'єднання на одному або кількох хостах.

      Введіть позитивне ціле число, щоб визначити час очікування з'єднання в секундах, або введіть 0 (нуль), щоб вимкнути час очікування (нескінченно). Не визначаючи час очікування на підключення, ви використовуєте значення за замовчуванням 10.

      Пов'язані, змінні середовища MYSQLX_CONNECTION_TIMEOUT (час очікування в секундах) та MYSQLX_TEST_CONNECTION_TIMEOUT (використовуються під час виконання тестів) можуть бути встановлені та використані замість connect-timeout з'єднання в URI. Параметр URI підключення до connect-timeout має пріоритет над змінними середовищами.

    • Необов'язковий атрибутcompressionприймає такі значення:preferred(клієнт домовляється з сервером, щоб знайти підтримуваний алгоритм; з'єднання не стисло, якщо взаємно підтримуваний алгоритм не знайдено),required (як "preferred", але з'єднання розривається, якщо взаємно підтримуваний алгоритм не знайдено), або disabled(з'єднання не стисло). За замовчуванням використовуєтьсяpreferred

      Опцію було додано у версії 8.0.20.

    • Необов'язковий атрибутcompression-algorithmsвизначає бажані алгоритми стиснення (та їх кращий порядок використання):zstd_stream(псевдонім: zstd),lz4_message(псевдонім: lz4) абоdeflate_stream(псевдоніми: deflate чи zlib). За замовчуванням використовується порядок (залежно від доступності системи): lz4_message, zstd_stream, потім deflate_stream. Наприклад, під час передачі compression-algorithms=[lz4, zstd_stream]використовується lz4, якщо він доступний, інакше використовується zstd_stream. Якщо обидва недоступні, поведінка залежить від значення стиснення, наприклад, якщо compression=required, збій з помилкою.

      Опцію було додано у версії 8.0.22.

Приклад #1 Приклади URI

Loading...

Для получения дополнительной информации смотрите MySQL Shell» Підключення з використанням рядка URI

Значення, що повертаються

Об'єкт Session

Помилки

Помилка з'єднання викликає Exception

Приклади

Приклад #2 Приклад використання mysql_xdevapi\getSession()****

Loading...

Висновок наведеного прикладу буде схожим на:

Array
(
    [0] => mysql_xdevapi\Schema Object
        (
            [name] => helloworld
        )
    [1] => mysql_xdevapi\Schema Object
        (
            [name] => information_schema
        )
    [2] => mysql_xdevapi\Schema Object
        (
            [name] => mysql
        )
    [3] => mysql_xdevapi\Schema Object
        (
            [name] => performance_schema
        )
    [4] => mysql_xdevapi\Schema Object
        (
            [name] => sys
        )
)

80012

array(4) {
  ["_id"]=>
  string(28) "00005ad66abf0001000400000003"
  ["age"]=>
  int(42)
  ["job"]=>
  string(7) "Butler"
  ["name"]=>
  string(4) "Alfred"
}