Spec-Zone.ru › MySQL Connectors 1.0

4.5 Справочник по параметрам подключения Connector/NET 8.0

В этом разделе описываются все параметры подключения MySQL Connector/NET 8.0. Протокол, используемый для подключения к серверу (классический MySQL-протокол или X-протокол), определяет, какие параметры следует использовать. Параметры подключения имеют значение по умолчанию, которое можно переопределить, задав новое значение в строке подключения (классический MySQL-протокол и X-протокол) или в строке подключения в формате URI (X-протокол). Имена и синонимы параметров Connector/NET не чувствительны к регистру.

Инструкции по использованию строк подключения см. в разделе 4.1 «Создание строки подключения Connector/NET». Информацию об альтернативных стилях подключения см. в .

В следующих разделах перечислены параметры подключения, применимые к обоим протоколам, только к классическому MySQL-протоколу и только к X-протоколу:

  • Параметры для обоих протоколов: классический MySQL-протокол и X-протокол

  • Параметры только для классического MySQL-протокола

  • Параметры только для X-протокола

Параметры для обоих протоколов: классический MySQL-протокол и X-протокол

Следующие параметры подключения Connector/NET могут быть использованы с любым протоколом. Connector/NET 8.0 предоставляет параметры в этом разделе как свойства в классах MySql.Data.MySqlClient.MySqlConnectionStringBuilder и MySqlX.XDevAPI.MySqlXConnectionStringBuilder.

CertificateFile , Certificate File

Значение по умолчанию: null

Этот параметр указывает путь к файлу сертификата в формате PKCS #12 (.pfx). Пример использования см. в разделе 6.7.2, «Использование сертификатов PFX в Connector/NET».

CertificatePassword , Certificate Password

Значение по умолчанию: null

Указывает пароль, используемый вместе с сертификатом, указанным с помощью параметра CertificateFile. Пример использования см. в разделе 6.7.2, «Использование сертификатов PFX в Connector/NET».

CertificateStoreLocation , Certificate Store Location

Значение по умолчанию: null

Позволяет получить доступ к сертификату, хранящемуся в личном хранилище, вместо использования комбинации файла сертификата и пароля. Пример использования см. в разделе 6.7.2, «Использование сертификатов PFX в Connector/NET».

CertificateThumbprint , Certificate Thumbprint

Значение по умолчанию: null

Указывает отпечаток сертификата для обеспечения правильной идентификации сертификата, содержащегося в личном хранилище. Пример использования см. в разделе 6.7.2, «Использование сертификатов PFX в Connector/NET».

CharacterSet , Character Set , CharSet

Указывает кодировку, которая должна использоваться для кодирования всех запросов, отправляемых на сервер. Результаты по-прежнему возвращаются в кодировке результирующих данных.

ConnectionProtocol , Protocol , Connection Protocol

Значение по умолчанию: socket (или tcp)

Указывает тип соединения с сервером. Возможные значения:

  • socket или tcp для сокетного соединения с использованием TCP/IP.

  • pipe для соединения с именованным каналом (не поддерживается протоколом X).

  • unix для соединения с UNIX-сокет.

  • memory для использования общей памяти MySQL (не поддерживается протоколом X).

Database , Initial Catalog

Значение по умолчанию: mysql

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

dns-srv , dnssrv

Значение по умолчанию: false

Включает разрешение соединением адресов службы (SRV) в записи DNS SRV, которая определяет местоположение (имя хоста и номер порта) серверов для указанных служб при использовании протокола транспорта по умолчанию (tcp). Один домен DNS может сопоставляться с несколькими целями (серверами) с помощью записей адресов SRV. Каждая запись SRV включает имя хоста, порт, приоритет и вес. Поддержка DNS SRV была введена в Connector/NET 8.0.19, чтобы устранить необходимость для клиентов идентифицировать каждый возможный хост в строке подключения, с использованием или без использования пула соединений.

Указание нескольких имен хостов, номера порта или соединения с UNIX-сокет, именованным каналом или общей памятью (см. параметр ConnectionProtocol) в строке подключения запрещено, если включена функция DNS SRV.

Использование классического протокола MySQL. Параметр dns-srv применяется к строкам подключения; свойство DnsSrv объявляется в классе MySqlConnectionStringBuilder.

// Connection string example

 var conn = new MySqlConnection("server=_mysql._tcp.example.abc.com.;
                                 dns-srv=true;
                                 user id=user;
                                 password=****;
                                 database=test");


// MySqlConnectionStringBuilder class example

 var sb = new MySqlConnectionStringBuilder();
{
  Server = "_mysql._tcp.example.abc.com.",
  UserID = "user",
  Password = "****",
  DnsSrv = true,
  Database = "test"
};

var conn = new MySqlConnection(sb.ConnectionString);

Использование протокола X. Параметр dns-srv применяется к строкам подключения и анонимным объектам. Свойство DnsSrv объявляется в классе MySqlXConnectionStringBuilder. Возникает ошибка, если dns-srv=false и схема URI mysqlx+srv:// объединены для создания конфликтующей конфигурации подключения. Подробные сведения об использовании элемента схемы mysqlx+srv:// в строках подключения, подобных URI, см. в разделе Подключения с использованием записей DNS SRV.

// Connection string example

var session = MySQLX.GetSession("server=_mysqlx._tcp.example.abc.com.;
                                 dns-srv=true;
                                 user id=user;
                                 password=****;
                                 database=test");


// Anonymous object example

var connstring = new
{
  server = "_mysqlx._tcp.example.abc.com.",
  user = "user",
  password = "****",
  dnssrv = true
};

var session = MySQLX.GetSession(connString);


// MySqlXConnectionStringBuilder class example

var sb = new MySqlXConnectionStringBuilder();
{
  Server = "_mysqlx._tcp.example.abc.com.",
  UserID = "user",
  Password = "****",
  DnsSrv = true,
  Database = "test"
};

var session = MySQLX.GetSession(sb.ConnectionString);
Keepalive , Keep Alive

Значение по умолчанию: 0

Для TCP-соединений, время простоя соединения в секундах, прежде чем будет отправлен первый пакет keepalive. Значение 0 указывает, что keepalive не используется. До Connector/NET 6.6.7/6.7.5/6.8.4 это значение измерялось в миллисекундах.

Password , Password1 , pwd , pwd1

Значение по умолчанию: пустая строка

Пароль для учетной записи MySQL, используемой для однофакторной/однократной аутентификации (1FA/SFA), которая использует только один метод аутентификации, например, пароль.

Начиная с Connector/NET 8.0.28, этот параметр также предоставляет первый секретный пароль для учетной записи, имеющей несколько факторов аутентификации. Сервер может запрашивать один (1FA), два (2FA) или три (3FA) пароля для аутентификации учетной записи MySQL. Например, если учетная запись с 2FA создается следующим образом:

CREATE USER 'abe'@'localhost'
  IDENTIFIED WITH caching_sha2_password
    BY 'sha2_password'
  AND IDENTIFIED WITH authentication_ldap_sasl
    AS 'uid=u1_ldap,ou=People,dc=example,dc=com';

Затем ваше приложение может указать строку подключения с этим параметром (password или его синонимами) и значением sha2_password в этом случае, чтобы удовлетворить первый фактор аутентификации.

var connString =  "server=localhost;
                   user=abe;
                   password=sha2_password;
                   password2=ldap_password;
                   port=3306";

В качестве альтернативы, для соединения, установленного с использованием объекта MySqlConnectionStringBuilder:

MySqlConnectionStringBuilder settings = new MySqlConnectionStringBuilder()
     {
       Server = "localhost",
       UserID = "abe",
       Pwd1 = "sha2_password",
       Pwd2 = "ldap_password",
       Port = 3306
     };

Если сервер не требует использования секретного пароля с методом аутентификации, то значение, указанное для параметра password, password2 или password3, игнорируется.

Password2 , pwd2

Значение по умолчанию: пустая строка

Второй секретный пароль для учетной записи, имеющей несколько факторов аутентификации (см. параметр подключения Password).

Password3 , pwd3

Значение по умолчанию: пустая строка

Третий секретный пароль для учетной записи, имеющей несколько факторов аутентификации (см. параметр подключения Password).

Port

Значение по умолчанию: 3306

Порт, который MySQL использует для прослушивания соединений. Это значение игнорируется, если используется UNIX-сокет.

Server , Host , Data Source , DataSource

Значение по умолчанию: localhost

Имя или сетевой адрес одного или нескольких хост-компьютеров. Несколько хостов разделяются запятыми, и приоритет (от 0 до 100), если указан, определяет порядок выбора хоста. Начиная с Connector/NET 8.0.19, выбор хоста является случайным, если приоритеты опущены или одинаковы для каждого хоста.

// Selects the host with the highest priority (100) first
server=(address=192.10.1.52:3305,priority=60),(address=localhost:3306,priority=100);

Провайдер не предпринимает попыток синхронизировать запись в базу данных, поэтому будьте осторожны при использовании этого параметра. В UNIX-средах с Mono это может быть полный путь к файлу сокета MySQL. С этой конфигурацией используется UNIX-сокет вместо TCP/IP-сокета. В настоящее время может быть указано только одно имя сокета, поэтому доступ к MySQL в реплицированной среде с использованием UNIX-сокетов в настоящее время не поддерживается.

SslCa , Ssl-Ca

Значение по умолчанию: null

В зависимости от типа используемых сертификатов этот параметр либо указывает путь к файлу сертификата в формате PKCS #12 (.pfx), либо путь к файлу в формате PEM (.pem), содержащему список доверенных центров сертификации SSL (CA).

При использовании сертификатов PFX этот параметр включается, когда параметр подключения SslMode установлен в значение Required, VerifyCA или VerifyFull; в противном случае он игнорируется.

При использовании сертификатов PEM этот параметр включается, когда параметр подключения SslMode установлен в значение VerifyCA или VerifyFull; в противном случае он игнорируется.

Примеры использования см. в разделе 6.7.1, «Использование сертификатов PEM в Connector/NET».

SslCert , Ssl-Cert

Значение по умолчанию: null

Имя файла сертификата SSL в формате PEM, который используется для установления зашифрованного соединения. Этот параметр включается только тогда, когда для параметра подключения SslMode установлено значение VerifyFull, а параметр подключения SslCa использует сертификат PEM; в противном случае он игнорируется. Пример использования см. в разделе 6.7.1, «Использование сертификатов PEM в Connector/NET».

SslKey , Ssl-Key

Значение по умолчанию: null

Имя файла ключа SSL в формате PEM, который используется для установления зашифрованного соединения. Этот параметр включается только тогда, когда для параметра подключения SslMode установлено значение VerifyFull, а параметр подключения SslCa использует сертификат PEM; в противном случае он игнорируется. Пример использования см. в разделе 6.7.1, «Использование сертификатов PEM в Connector/NET».

SslMode , Ssl Mode , Ssl-Mode

По умолчанию: Зависит от версии Connector/NET и используемого протокола. Подключения через именованные каналы (named pipes) и общую память (shared memory) не поддерживаются с протоколом X.

  • Required для версий от 8.0.8 до 8.0.12 (оба протокола); 8.0.13 и выше (только протокол X).

  • Preferred для версий 8.0.13 и выше (только классический протокол MySQL).

Этот параметр принимает следующие значения:

  • Disabled – Не использовать SSL. Для серверов без SSL этот параметр должен быть явным образом задан как Disabled для Connector/NET 8.0.29 и более поздних версий.

  • None – Не использовать SSL. Для серверов без SSL этот параметр должен быть явным образом задан как None для Connector/NET 8.0.8 и более поздних версий.

    Примечание

    Это значение устарело начиная с Connector/NET 8.0.29. Используйте Disabled вместо него.

  • Preferred – Использовать SSL, если сервер его поддерживает, но разрешить подключение во всех случаях. Этот параметр был удален в Connector/NET 8.0.8 и повторно реализован в 8.0.13 только для классического протокола MySQL.

    Примечание

    Не используйте этот параметр для операций с протоколом X.

  • Required – Всегда использовать SSL. Отклонить подключение, если сервер не поддерживает SSL.

  • VerifyCA – Всегда использовать SSL. Проверить сертификаты центров сертификации (CA), но допустить несовпадение имён.

  • VerifyFull – Всегда использовать SSL. Ошибка, если имя хоста неверно.

tlsversion , tls-version , tls version

По умолчанию: используется алгоритм по умолчанию, определяющий, какую версию TLS использовать.

Ограничивает набор версий протокола TLS, используемых во время рукопожатия TLS, когда и клиент, и сервер поддерживают указанные версии TLS, и значение параметра подключения SslMode не установлено в Disabled или None (устарело в Connector/NET 8.0.29). Этот параметр принимает одну версию или список версий, разделённых запятыми, например, tls-version=TLSv1.2, TLSv1.3;.

Connector/NET поддерживает следующие значения:

  • TLSv1.3

  • TLSv1.2

При присвоении значения, отличного от перечисленных, выдаётся ошибка. Аналогично, ошибка выдаётся при передаче пустого списка в качестве значения или если все версии в списке не поддерживаются и попытка подключения не производится.

UserID , User Id , Username , Uid , User name , User

По умолчанию: null

Аккаунт пользователя MySQL, используемый для входа.

Параметры только для классического протокола MySQL

Параметры, относящиеся к системам с пулом подключений, появляются в конце списка общих параметров (см. Параметры пула подключений). Connector/NET 8.0 предоставляет параметры в этом разделе как свойства в классе MySql.Data.MySqlClient.MySqlConnectionStringBuilder.

Общие параметры. Параметры Connector/NET, следующие за ними, предназначены для общего использования со строками подключения, и параметры применяются ко всем конфигурациям сервера MySQL:

AllowBatch , Allow Batch

По умолчанию: true

При включении, с помощью одной команды выполнения можно отправить несколько SQL-запросов. Запросы пакетной обработки должны быть разделены символом-разделителем, определённым сервером.

AllowLoadLocalInfile , Allow Load Local Infile

По умолчанию: false

Отключает (по умолчанию) или включает функциональность сервера для загрузки данных local infile. Если этот параметр установлен в значение true, загрузка файлов из любого места разрешена независимо от пути, указанного параметром AllowLoadLocalInfileInPath.

AllowLoadLocalInfileInPath , Allow Load Local Infile In Path

По умолчанию: null

Указывает безопасный путь, из которого файлы могут быть считаны и загружены на сервер. Когда соответствующий параметр AllowLoadLocalInfile установлен в значение false, что является значением по умолчанию, загружаться могут только файлы из безопасного пути или из любого допустимого подкаталога, указанного параметром AllowLoadLocalInfileInPath. Например, если /tmp установлен как ограниченный каталог, запросы файлов для /tmp/myfile и /tmp/myfolder/myfile могут быть успешными. Не разрешаются относительные пути или символьные ссылки, выходящие за пределы этого пути.

В следующей таблице показано поведение, которое возникает при сочетании параметров строки подключения AllowLoadLocalInfile и AllowLoadLocalInfileInPath.

Значение AllowLoadLocalInfile Значение AllowLoadLocalInfileInPath Поведение
true Пустая строка или значение null Разрешены все загрузки.
true Действительный путь Разрешены все загрузки (путь не учитывается).
false Пустая строка или значение null Загрузки запрещены.
false Действительный путь Разрешены только загрузки из указанного каталога и подкаталогов.
AllowPublicKeyRetrieval

По умолчанию: false

Установка этого параметра в значение true сообщает Connector/NET, что открытые ключи RSA должны быть получены с сервера, и подключения с использованием классического протокола MySQL, когда SSL отключен, будут по умолчанию завершаться ошибкой. Исключение из поведения по умолчанию может произойти при предыдущих успешных попытках подключения или при включённом пулинге и повторном использовании подключённых соединений. Этот параметр был добавлен с коннектором 8.0.10.

Внимание

Этот параметр уязвим к атакам типа «человек посередине», поэтому его следует использовать только в ситуациях, когда вы можете гарантировать другими средствами, что ваши соединения устанавливаются с надёжными серверами.

AllowUserVariables , Allow User Variables

По умолчанию: false

Установка значения в true означает, что поставщик ожидает переменные пользователя в SQL.

AllowZeroDateTime , Allow Zero Datetime

По умолчанию: false

Если установлено в значение True, MySqlDataReader.GetValue() возвращает объект MySqlDateTime для столбцов даты или даты и времени с недопустимыми значениями, такими как нулевые значения даты и времени, и объект System.DateTime для допустимых значений. Если установлено в значение False (значение по умолчанию), возвращается объект System.DateTime для всех допустимых значений и генерируется исключение для недопустимых значений, таких как нулевые значения даты и времени.

AutoEnlist , Auto Enlist

По умолчанию: true

Если AutoEnlist установлено в значение true, что является значением по умолчанию, подключение, открытое с использованием TransactionScope, участвует в этом контексте, коммитит при коммите контекста и отменяет выполнение, если TransactionScope не коммитит. Однако эта функция считается чувствительной к безопасности и поэтому не может использоваться в среде с ограниченным доверием.

С версии 8.0.10 этот параметр поддерживается в реализациях .NET Core 2.0.

BlobAsUTF8ExcludePattern

По умолчанию: null

Регулярное выражение в стиле POSIX, которое сопоставляет имена столбцов BLOB, не содержащих данных UTF-8. Подробности использования см. в Разделе 5.16, «Характерные особенности набора символов Connector/NET».

BlobAsUTF8IncludePattern

По умолчанию: null

Регулярное выражение в стиле POSIX, которое сопоставляет имена столбцов BLOB, содержащих данные UTF-8. Подробности использования см. в Разделе 5.16, «Характерные особенности набора символов Connector/NET».

CheckParameters , Check Parameters

По умолчанию: true

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

CommandInterceptors , Command Interceptors

Список перехватов, которые могут перехватывать операции SQL-команд.

ConnectionTimeout , Connect Timeout , Connection Timeout

По умолчанию: 15

Длительность ожидания (в секундах) подключения к серверу перед завершением попытки и генерацией ошибки.

ConvertZeroDateTime , Convert Zero Datetime

По умолчанию: false

Используйте true, чтобы MySqlDataReader.GetValue() и MySqlDataReader.GetDateTime() возвращали DateTime.MinValue для столбцов даты или даты и времени с недопустимыми значениями.

DefaultAuthenticationPlugin

Имеет приоритет над серверным плагином проверки подлинности по умолчанию, когда указан допустимый плагин проверки подлинности (см. Раздел 4.4, «Проверка подлинности Connector/NET»). Параметр Defaultauthenticationplugin является обязательным для поддержки аутентификаций Kerberos без пользователя и пароля, в которых учетные данные извлекаются из кэша или Центра распределения ключей (KDC). Например:

MySqlConnectionStringBuilder settings = new MySqlConnectionStringBuilder()
     {
       Server = "localhost",
       UserID = "",
       Password = "",
       Database = "mydb",
       Port = 3306,
       DefaultAuthenticationPlugin = "authentication_kerberos_client"
     };

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

Этот параметр был добавлен с коннектором 8.0.26.

DefaultCommandTimeout , Default Command Timeout

По умолчанию: 30

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

DefaultTableCacheAge , Default Table Cache Age

По умолчанию: 60

Указывает, как долго должен кешироваться результат TableDirect в секундах. Информацию об использовании кэширования таблиц см. в Разделе 5.3, «Использование Connector/NET с кэшированием таблиц».

ExceptionInterceptors , Exception Interceptors

Список перехватов, которые могут обрабатывать брошенные исключения MySqlException.

FunctionsReturnString , Functions Return String

По умолчанию: false

Приводит к тому, что коннектор возвращает значения binary или varbinary в виде строк, если в метаданных нет имени таблицы.

Includesecurityasserts , Include security asserts

По умолчанию: false

Должно быть установлено в значение true при использовании класса MySQLClientPermissions в среде с частичным доверием, с установленной библиотекой в GAC среды размещения. Подробности см. в Разделе 5.7, «Работа с частичным доверием/средой с ограниченным доверием».

С версии 8.0.10 этот параметр поддерживается в реализациях .NET Core 2.0.

InteractiveSession , Interactive , Interactive Session

По умолчанию: false

Если установлено в значение true, клиент интерактивный. Интерактивный клиент — это такой клиент, в котором переменная сервера CLIENT_INTERACTIVE установлена. Если интерактивный клиент установлен, переменная wait_timeout установлена в значение interactive_timeout. Сеанс клиента истекает по истечении этого периода бездействия. Дополнительную информацию см. в Руководстве по MySQL.

С версии 8.0.10 этот параметр поддерживается в реализациях .NET Core 2.0.

IntegratedSecurity , Integrated Security

По умолчанию: no

Использовать аутентификацию Windows при подключении к серверу. По умолчанию отключена. Для включения укажите значение yes. (В качестве альтернативы можно использовать значение sspi вместо yes). Подробности см. в Разделе 4.4, «Проверка подлинности Connector/NET».

В настоящее время не поддерживается для .NET Core.

KerberosAuthMode , kerberos auth mode

Значение по умолчанию: AUTO

В Windows предоставляет поддержку аутентификации с использованием интерфейса поставщика служб безопасности (SSPI), который способен получать учетные данные из кэша Windows в оперативной памяти и общего интерфейса прикладных программ службы безопасности (GSSAPI) через библиотеку MIT Kerberos. GSSAPI способен получать кэшированные учетные данные, ранее сгенерированные с помощью команды kinit. Значение по умолчанию для этого параметра (AUTO) пытается выполнить аутентификацию с помощью GSSAPI, если аутентификация с помощью SSPI завершается неудачно.

Примечание

Этот параметр разрешен только в средах Windows. Использование его в средах, отличных от Windows, приводит к исключению Параметр не поддерживается.

Возможные значения для этого параметра подключения:

  • AUTO – Использовать SSPI и перейти к GSSAPI в случае неудачи.

  • SSPI – Использовать только SSPI и вызывать исключение в случае неудачи.

  • GSSAPI – Использовать только GSSAPI и вызывать исключение в случае неудачи. Всегда используйте переменные среды KRB5_CONFIG и KRB5CCNAME для указания расположения конфигурации и кэша при использовании GSSAPI через библиотеку MIT Kerberos в Windows.

Logging

Значение по умолчанию: false

Когда значение установлено на true, различные сведения отправляются всем настроенным прослушивателям трассировки. Более подробное описание см. в Разделе 5.12, «Connector/NET Tracing».

Начиная с 8.0.10, этот параметр поддерживается в реализациях .NET Core 2.0.

ociConfigFile , OCI Config File

По умолчанию используется один из следующих путей:

  • ~/.oci/config на хостах Linux и macOS

  • %HOMEDRIVE%%HOMEPATH%\.oci\config на хостах Windows

При установке этого параметра указывается альтернативное расположение файла конфигурации Oracle Cloud Infrastructure. Connector/NET 8.0.27 (и более поздние версии) использует Oracle Cloud Infrastructure SDK для получения отпечатка ключа API для аутентификации (запись fingerprint) и расположения PEM-файла с приватной частью ключа API (запись key_file). Записи должны быть указаны в профиле [DEFAULT]. Если профиль [DEFAULT] отсутствует в файле конфигурации, Connector/NET ищет следующий профиль для использования.

Не поддерживается в реализациях .NET Framework 4.5.x

OciConfigProfile , OCI Config Profile

Если задано в Connector/NET 8.0.33 (или более поздней версии), этот параметр определяет, какой профиль в файле конфигурации Oracle Cloud Infrastructure использовать. Значение профиля по умолчанию — профиль DEFAULT, если значение не указано.

Не поддерживается в реализациях .NET Framework 4.5.x

OldGuids , Old Guids

Значение по умолчанию: false

Представление GUID в бэкенде было изменено с BINARY(16) на CHAR(36). Это было сделано для возможности использования функции сервера для заполнения таблицы GUID — UUID() генерирует строку из 36 символов. Разработчики более старых приложений могут добавить 'Old Guids=true' в строку подключения, чтобы использовать GUID типа данных .

OldGetStringBehavior

Значение по умолчанию: false

Начиная с Connector/NET 8.3.0, вызов метода MySqlDataReader.GetString() вызывает исключение InvalidCastException, если столбец не является строковым типом. Разрешены все текстовые типы, включая char и varchar; blob не считается текстовым типом.

Установка параметра подключения OldGetStringBehavior в true восстанавливает предыдущее поведение, выведя предупреждение об устаревании вместо вызова исключения.

Этот параметр был добавлен в 8.3.0 и удален в 9.0.0.

OpenIdIdentityToken

Значение по умолчанию: ""

Строка Base64URL, содержащая токен OpenID Identity, используемый для аутентификации с помощью плагина аутентификации authentication_openid_connect_client.

Этот параметр был добавлен в 9.1.0.

PersistSecurityInfo , Persist Security Info

Значение по умолчанию: false

При установке на false или no (настоятельно рекомендуется) конфиденциальная информация, такая как пароль, не возвращается как часть подключения, если подключение открыто или когда-либо было открыто. Сброс строки подключения сбрасывает все значения строки подключения, включая пароль. Признанные значения — true, false, yes и no.

PipeName , Pipe Name , Pipe

Значение по умолчанию: mysql

При установке имени именованной трубы Connector/NET пытается подключиться к MySQL по этой именованной трубе. Этот параметр применяется только к платформе Windows.

Важно

Для MySQL 8.0.14 и более поздних версий, 5.7.25 и более поздних версий и 5.6.43 и более поздних версий минимальные разрешения на именованные трубы предоставляются клиентам, которые используют их для подключения к серверу. Однако Connector/NET может использовать именованные трубы только при предоставлении полных прав доступа на них. В качестве обходного решения создайте локальную группу Windows, содержащую пользователя, который выполняет клиентское приложение. Перезапустите целевой сервер с переменной системы и укажите имя локальной группы в качестве ее значения.

В настоящее время не поддерживается для реализаций .NET Core.

ProcedureCacheSize , Procedure Cache Size , procedure cache , procedurecache

Значение по умолчанию: 25

Устанавливает размер кэша хранимых процедур. По умолчанию Connector/NET сохраняет метаданные (типы входных/выходных данных) о последних 25 используемых хранимых процедурах. Чтобы отключить кэш хранимых процедур, установите значение в ноль (0).

Replication

Значение по умолчанию: false

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

Начиная с 8.0.10, этот параметр поддерживается в реализациях .NET Core 2.0.

rewritebatchedstatements , Rewrite batched statements

Включите этот параметр, чтобы заставить коннектор переписывать пакетные операторы и выполнять их все сразу в одном блоке, а не по одному, что является по умолчанию. Параметр добавлен в Connector/NET 9.2.0.

Примечание

Этот параметр подключения влияет на функции, такие как LAST_INSERT_ID().

RespectBinaryFlags , Respect Binary Flags

Значение по умолчанию: true

Установка этого параметра в false означает, что Connector/NET игнорирует двоичные флаги столбца, установленные сервером.

SharedMemoryName , Shared Memory Name

Значение по умолчанию: mysql

Имя объекта общей памяти для использования в коммуникации, если протокол транспорта установлен на memory. Этот параметр применяется только к платформе Windows.

В настоящее время не поддерживается для реализаций .NET Core.

SqlServerMode , Sql Server Mode

Значение по умолчанию: false

Разрешить синтаксис SQL Server. При установке на true Connector/NET поддерживает использование квадратных скобок вокруг символов вместо обратных кавычек. Это позволяет работать с Connector/NET макросам Visual Studio, которые используют квадратные скобки вокруг символов между [ и ]. Этот параметр снижает производительность, поэтому следует использовать только при необходимости.

TableCaching , Table Cache , TableCache

Значение по умолчанию: false

Включает или отключает кэширование команд TableDirect. Значение true включает кэш, а false его отключает. Сведения об использовании кэширования таблиц см. в Разделе 5.3, «Использование Connector/NET с кэшем таблиц».

TreatBlobsAsUTF8 , Treat BLOBs as UTF8

Значение по умолчанию: false

Установка этого значения в true приводит к тому, что у столбцов будет кодовая страница utf8 с кодировкой по умолчанию для этой кодовой страницы. Для преобразования только некоторых столбцов BLOB можно использовать ключевые слова 'BlobAsUTF8IncludePattern' и 'BlobAsUTF8ExcludePattern'. Установите для них шаблон регулярного выражения, который соответствует именам столбцов для включения или исключения соответственно.

TreatTinyAsBoolean , Treat Tiny As Boolean

Значение по умолчанию: true

Установка этого значения в false приводит к тому, что TINYINT(1) обрабатывается как . См. для дополнительного объяснения типов данных и .

UseAffectedRows , Use Affected Rows

Значение по умолчанию: false

При значении true подключение сообщает о измененных строках вместо найденных.

UseCompression , Compress , Use Compression

По умолчанию: false

Установка этого параметра в значение true включает сжатие пакетов, обмениваемых между клиентом и сервером. Этот обмен определяется протоколом MySQL клиент/сервер.

Сжатие используется, если и клиент, и сервер поддерживают сжатие ZLIB, и клиент запросил сжатие с помощью этого параметра.

Заголовок сжатого пакета: длина пакета (3 байта), номер пакета (1 байт) и длина нескомпрессированного пакета (3 байта). Длина нескомпрессированного пакета — это количество байтов в исходном, нескомпрессированном пакете. Если она равна нулю, данные в этом пакете не были сжаты. При использовании протокола сжатия клиент или сервер могут сжимать пакеты. Однако сжатие не произойдёт, если сжатая длина больше исходной длины. Таким образом, некоторые пакеты будут содержать сжатые данные, а другие — нет.

UseDefaultCommandTimeoutForEF , Use Default Command Timeout For EF

По умолчанию: false

Обеспечивает тайм-аут команды EFMySqlCommand, который устанавливается в значение, предоставленное свойством DefaultCommandTimeout.

UsePerformanceMonitor , Use Performance Monitor , UserPerfMon , PerfMon

По умолчанию: false

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

В настоящее время не поддерживается для реализаций .NET Core.

UseUsageAdvisor , Use Usage Advisor , Usage Advisor

По умолчанию: false

Ведёт протокол неэффективных операций с базой данных.

Начиная с версии 8.0.10, этот параметр поддерживается в реализациях .NET Core 2.0.

Параметры пула подключений. Следующие параметры относятся к пулу подключений в строках подключения. Дополнительную информацию о пуле подключений см. в разделе Открытие подключения к отдельному серверу.

CacheServerProperties , Cache Server Properties

По умолчанию: false

Указывает, обновляются ли параметры переменных сервера командой SHOW VARIABLES каждый раз при возвращении подключенного соединения. Включение этого параметра ускоряет соединения в среде пула подключений. Приложение не получает информации о любых изменениях конфигурационных переменных, внесённых другими подключениями.

ConnectionLifeTime , Connection Lifetime

По умолчанию: 0

При возвращении подключения в пул время его создания сравнивается с текущим временем, и подключение уничтожается, если этот временной интервал (в секундах) превышает значение, заданное параметром Connection Lifetime. Этот параметр полезен в кластерных конфигурациях для принудительного распределения нагрузки между работающим сервером и только что включённым. Значение 0 устанавливает для подключений в пуле максимальный тайм-аут подключения.

ConnectionReset , Connection Reset

По умолчанию: false

Если true, состояние подключения сбрасывается при получении из пула. Значение по умолчанию false позволяет избежать дополнительного запроса к серверу при получении подключения, но состояние подключения не сбрасывается.

MaximumPoolsize , Max Pool Size , Maximum Pool Size , MaxPoolSize

По умолчанию: 100

Максимальное количество подключений, разрешенных в пуле.

MinimumPoolSize , Min Pool Size , Minimum Pool Size , MinPoolSize

По умолчанию: 0

Минимальное количество подключений, разрешенных в пуле.

Pooling

По умолчанию: true

Если true, объект MySqlConnection извлекается из соответствующего пула или, при необходимости, создаётся и добавляется в соответствующий пул. Распознаваемые значения: true, false, yes и no.

Параметры только для протокола X

Следующие параметры подключения действительны для подключений, выполненных с использованием протокола X. Connector/NET 8.0 предоставляет параметры в этом разделе в качестве свойств в классе MySqlX.XDevAPI.MySqlXConnectionStringBuilder.

Auth , Authentication , Authentication Mode

Механизм аутентификации для использования с протоколом X. Этот параметр был добавлен с подключением 8.0.9 и имеет следующие значения, не чувствительные к регистру: MYSQL41, PLAIN и EXTERNAL. Если параметр Auth не задан, механизм выбирается в зависимости от типа подключения. PLAIN используется для защищенных подключений (TLS или Unix-сокеты), а MYSQL41 используется для незащищенных подключений. EXTERNAL используется для внешних методов аутентификации, таких как PAM, идентификаторы входа Windows, LDAP или Kerberos. (EXTERNAL в настоящее время не поддерживается.)

Параметр Auth не поддерживается для подключений по классическому протоколу MySQL и возвращает NotSupportedException при использовании.

Compression , use-compression

По умолчанию: preferred

Сжатие используется для отправки и получения данных, когда оба клиент и сервер поддерживают его для подключений по протоколу X, и клиент запрашивает сжатие с помощью этого параметра. После успешной переговорки алгоритма Connector/NET может сразу начать сжимать данные. Чтобы предотвратить сжатие небольших пакетов данных или уже сжатых данных, Connector/NET определяет порог размера в 1000 байт.

Когда сервер поддерживает несколько алгоритмов сжатия, Connector/NET применяет следующий приоритет по умолчанию: zstd_stream (первый), lz4_message (второй) и deflate_stream (третий). Алгоритм deflate_stream поддерживается для использования с .NET Core, но не для .NET Framework.

Подсказка

Используйте параметр compression-algorithms, чтобы указать один или несколько поддерживаемых алгоритмов в другом порядке. Алгоритмы согласовываются в порядке, заданном клиентом. Для получения подробной информации см. параметр compression-algorithms.

Сжатие данных для подключений по протоколу X было добавлено в релизе Connector/NET 8.0.20. Параметр Compression принимает следующие значения:

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

  • required для обеспечения использования сжатия или для завершения подключения и возврата сообщения об ошибке.

  • disabled для предотвращения сжатия данных.

compression-algorithms , CompressionAlgorithms

Начиная с Connector/NET 8.0.22, приложение-клиент может указать порядок, в котором поддерживаемые алгоритмы сжатия согласовываются с сервером. Значение параметра подключения Compression должно быть установлено в значение preferred или required для применения этого параметра. Неподдерживаемые алгоритмы игнорируются.

Этот параметр принимает следующие имена и синонимы алгоритмов:

  • lz4_message или lz4

  • zstd_stream или zstd

  • deflate_stream или deflate (недействительно для .NET Framework)

Имена и синонимы алгоритмов могут быть объединены в список, разделенный запятыми, или предоставлены в качестве отдельного значения (со скобками или без них). Примеры:

// Compression option set to preferred (default)
MySQLX.GetSession("mysqlx://test:test@localhost:3306?compression-algorithms=[lz4_message,deflate]
MySQLX.GetSession("mysqlx://test:test@localhost:3306?compressionalgorithms=lz4
MySQLX.GetSession("mysqlx://test:test@localhost:3306?compression=preferred&compression-algorithms=[zstd]

// Compression option set to required
MySQLX.GetSession("mysqlx://test:test@localhost:3306?compression=required&compression-algorithms=[zstd_stream,lz4_message]
MySQLX.GetSession("mysqlx://test:test@localhost:3306?compression=required&compression-algorithms=[lz4]
MySQLX.GetSession("mysqlx://test:test@localhost:3306?compression=required&compression-algorithms=zstd_stream

// Connection string
MySQLX.GetSession("server=localhost;port=3306;uid=test;password=test;compression=required;compression-algorithms=lz4_message;")

// Anonymous object
MySQLX.GetSession(new {
   server = "localhost",
   port = "3306",
   uid = "test",
   password = "test",
   compression="required",
   compressionalgorithms = "deflate_stream" })

Для дополнительной информации см. .

connection-attributes , ConnectionAttributes

По умолчанию: true

Этот параметр был введен в Connector/NET 8.0.16 для отправки набора атрибутов вместе с атрибутами соединения по умолчанию на сервер. Общий размер данных атрибутов подключения, отправленных клиентом, ограничен значением переменной сервера. Общий размер пакета данных должен быть меньше значения переменной сервера. Для общей информации об атрибутах подключения см. .

Значение параметра connection-attributes может быть пустым (то же, что и указание true), булевым значением (true или false для включения или выключения набора атрибутов по умолчанию) или списком из нуля или более спецификаторов key=value, разделенных запятыми (для отправки дополнительно к набору атрибутов по умолчанию). В списке пропущенное значение ключа интерпретируется как значение NULL. Примеры:

// Sessions
MySQLX.GetSession($"mysqlx://user@host/schema")
MySQLX.GetSession($"mysqlx://user@host/schema?connection-attributes")
MySQLX.GetSession($"mysqlx://user@host/schema?connection-attributes=true")
MySQLX.GetSession($"mysqlx://user@host/schema?connection-attributes=false")
MySQLX.GetSession($"mysqlx://user@host/schema?connection-attributes=[attr1=val1,attr2,attr3=]")
MySQLX.GetSession($"mysqlx://user@host/schema?connection-attributes=[]")

// Pooling
MySQLX.GetClient($"mysqlx://user@host/schema")
MySQLX.GetClient($"mysqlx://user@host/schema?connection-attributes")
MySQLX.GetClient($"mysqlx://user@host/schema?connection-attributes=true")
MySQLX.GetClient($"mysqlx://user@host/schema?connection-attributes=false")
MySQLX.GetClient($"mysqlx://user@host/schema?connection-attributes=[attr1=val1,attr2,attr3=]")
MySQLX.GetClient($"mysqlx://user@host/schema?connection-attributes=[]")

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

Если атрибуты подключения не указаны корректным способом, возникает ошибка, и попытка подключения завершается неудачно.

Connect-Timeout , ConnectTimeout

По умолчанию: 10000

Время ожидания (в миллисекундах) для подключения по протоколу X к серверу перед завершением попытки и генерацией ошибки. Вы можете отключить таймаут подключения, установив значение в ноль. Этот параметр можно указать следующим образом:

  • Пример строки подключения в формате URI

    MySQLX.GetSession("mysqlx://test:test@localhost:33060?connect-timeout=2000");
    
  • Пример строки подключения

    MySQLX.GetSession("server=localhost;user=test;port=33060;connect-timeout=2000");
    
  • Пример с анонимным объектом

    MySQLX.GetSession(new { server="localhost", user="test", port=33060, connecttimeout=2000 });
    
  • Пример использования класса MySqlXConnectionStringBuilder

    var builder = new MySqlXConnectionStringBuilder("server=localhost;user=test;port=33060");
    builder.ConnectTimeout = 2000;
    MySQLX.GetSession(builder.ConnectionString);
    
SslCrl , Ssl-Crl

По умолчанию: null

Путь к локальному файлу, содержащему списки отзыва сертификатов.

Важно

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

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/connector-net-en/connector-net-8-0-connection-options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API