Spec-Zone .ru
спецификации, руководства, описания, API

21.3.5.1. Имена классов драйвера/Источника данных, Синтаксис URL и Конфигурация Propertiesfor Connector/J

Имя class, который реализует java.sql.Driver в MySQL, Connector/J, com.mysql.jdbc.Driver. org.gjt.mm.mysql.Driver Имя class также применимо для обратной совместимости с MM.MySQL, предшественником Connector/J. Используйте это имя class, регистрируя драйвер, или иначе конфигурируя программное обеспечение, чтобы использовать MySQL, Connector/J.

JDBC Формат URL

Формат URL JDBC для MySQL, Connector/J, следующим образом, с элементами в квадратных скобках ([]), будучи дополнительным:

jdbc:mysql://[host][,failoverhost...][:port]/[database] »[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

Если имя хоста не определяется, оно принимает значение по умолчанию к 127.0.0.1. Если порт не определяется, он принимает значение по умолчанию к 3306, номер порта значения по умолчанию для серверов MySQL.

jdbc:mysql://[host:port],[host:port].../[database] »[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

Вот является демонстрационное соединение URL:

jdbc:mysql://localhost:3306/sakila?profileSQL=true

Соединения IPv6

Для соединений IPv6 используйте этот альтернативный синтаксис, чтобы определить узлы в URL, address=(key=value). Поддерживаемые ключи:

Например:

jdbc:mysql://address=(protocol=tcp)(host=localhost)(port=3306)(user=test)/db 

Любые другие параметры обрабатываются как специфичные для узла свойства, которые следуют за соглашениями свойств URL JDBC. Это теперь позволяет переопределения на узел любого свойства конфигурации для соединений мультиузла (то есть, при использовании failover, выравнивания нагрузки, или репликации). Ограничьте переопределения пользователем, паролем, сетевыми тайм-аутами и оператором и размерами кэша метаданных; результаты других переопределений на узел не определяются.

Начальная База данных для Соединения

Если база данных не определяется, соединение делается без базы данных значения по умолчанию. В этом случае, любой вызов setCatalog() метод на экземпляре Соединения, или полностью определяют имена таблиц, используя имя базы данных (то есть, SELECT dbname.tablename.colname FROM dbname.tablename...) в Вашем SQL. Открытие соединения, не определяя базу данных, чтобы использовать обычно только полезно, когда инструменты разработки, которые работают с многократными базами данных, такими как менеджеры базы данных GUI.

Отметить

Всегда используйте Connection.setCatalog() метод, чтобы определить требуемую базу данных в приложениях JDBC, а не USE database оператор.

Поддержка кластерных систем

У MySQL, Connector/J, есть поддержка кластерных систем. Это позволяет драйверу перестать работать к любому числу ведомых узлов и все еще выполнить запросы только для чтения. Failover только происходит, когда соединение находится в autoCommit(true) состояние, потому что failover не может произойти достоверно, когда транзакция происходит. Устанавливаются большинство серверов приложений и пулов соединения autoCommit к true в конце каждого использования транзакции/соединения.

У failover функциональности есть следующее поведение:

В любом случае, всякий раз, когда Вы соединяетесь с "отказавший - по" серверу, соединение устанавливается в состояние только для чтения, таким образом, запросы, которые пытаются изменить данные, выдадут исключения (запрос никогда не будет обрабатываться сервером MySQL).

Установка Свойств Конфигурации

Свойства конфигурации определяют, как Connector/J сделает соединение с сервером MySQL. Если не указано иное, свойства могут быть установлены для a DataSource возразите или для a Connection объект.

Свойства конфигурации могут быть установлены одним из следующих способов:

Свойства перечисляются в следующих таблицах.

Соединение/Аутентификация.

Имя свойства Определение Значение по умолчанию Начиная с Версии
пользователь Пользователь, чтобы соединиться как все версии
пароль Пароль, чтобы использовать, соединяясь все версии
socketFactory Имя class, который драйвер должен использовать для того, чтобы создать сокетные соединения с сервером. Этот class должен реализовать интерфейс 'com.mysql.jdbc. У SocketFactory' и нет общественности никакой-args конструктор. com.mysql.jdbc. StandardSocketFactory 3.0.3
connectTimeout Тайм-аут для сокета соединяется (в миллисекундах), с 0 не являющийся никаким тайм-аутом. Только работы над JDK 1.4 или более новый. Значения по умолчанию к '0'. 0 3.0.1
socketTimeout Тайм-аут на сетевых операциях сокета (0, значение по умолчанию не означает тайм-аута). 0 3.0.1
connectionLifecycleInterceptors Разграниченный запятой список классов, которые реализуют "com.mysql.jdbc.ConnectionLifecycleInterceptor", который должен уведомленный относительно событий жизненного цикла соединения (создание, разрушение, фиксация, откат, setCatalog и setAutoCommit) и потенциально изменять выполнение этих команд. ConnectionLifecycleInterceptors являются "наращиваемыми", больше чем один перехватчик может быть определен через свойство конфигурации как разграниченный запятой список с перехватчиками, выполняемыми в порядке слева направо. 5.1.4
useConfigs Загрузите разграниченный запятой список свойств конфигурации прежде, чем проанализировать URL или применить определенные пользователем свойства. Эти конфигурации объясняются в 'Конфигурациях' документации. 3.1.5
authenticationPlugins Разграниченный запятой список классов та реализация com.mysql.jdbc. AuthenticationPlugin и который будет использоваться для аутентификации если не отключено "disabledAuthenticationPlugins" свойством. 5.1.19
defaultAuthenticationPlugin Имя class, реализовывая com.mysql.jdbc. AuthenticationPlugin, который будет использоваться в качестве плагина аутентификации значения по умолчанию (см. ниже). Это - ошибка использовать class, который не перечисляется в "authenticationPlugins", ни это - один из встроенных плагинов. Это - ошибка установить, как принимают значение по умолчанию плагин, который был отключен с "disabledAuthenticationPlugins" свойством. Это - ошибка установить в NULL это значение или пустую строку (то есть должно быть, по крайней мере, допустимый плагин аутентификации значения по умолчанию, определенный для соединения, встречая все упомянутые выше ограничения). com.mysql.jdbc.authentication.MysqlNativePasswordPlugin 5.1.19
disabledAuthenticationPlugins Разграниченный запятой список классов, реализовывая com.mysql.jdbc. AuthenticationPlugin или механизмы, то есть "mysql_native_password". Плагины аутентификации или перечисленные механизмы не будут использоваться для аутентификации, которая перестанет работать, если она потребует одного из них. Это - ошибка отключить плагин аутентификации значения по умолчанию (или тот, названный "defaultAuthenticationPlugin" свойством или трудно кодированный, если "defaultAuthenticationPlugin" свойство не устанавливается). 5.1.19
disconnectOnExpiredPasswords Если "disconnectOnExpiredPasswords" устанавливается в "ложь", и пароль истекается тогда, сервер вводит режим "песочницы" и передается, ДОПУСКАЮТ ОШИБКУ (08001, ER_MUST_CHANGE_PASSWORD) для всех команд, которые не необходимы, чтобы установить новый пароль, пока новый пароль не устанавливается. истина 5.1.23
interactiveClient Установите флаг CLIENT_INTERACTIVE, который говорит MySQL соединениям тайм-аута, основанным на INTERACTIVE_TIMEOUT вместо WAIT_TIMEOUT ложь 3.1.0
localSocketAddress Имя узла или IP-адрес, данный, чтобы явно сконфигурировать интерфейс, с которым драйвер свяжет сторону клиента соединения TCP/IP, соединяясь. 5.0.5
propertiesTransform Реализация com.mysql.jdbc.ConnectionPropertiesTransform, который драйвер будет использовать, чтобы изменить свойства URL, которые передают к драйверу прежде, чем делать попытку соединения 3.1.4
useCompression Используйте zlib сжатие, связываясь с сервером (истина/ложь)? Значения по умолчанию ко 'лжи'. ложь 3.0.17

Сети.

Имя свойства Определение Значение по умолчанию Начиная с Версии
maxAllowedPacket Максимальный позволенный пакетный размер, чтобы передаться к серверу. Если не набор, значение системной переменной 'max_allowed_packet' будет использоваться, чтобы инициализировать это после соединения. Это значение не будет вступать в силу если установлено больше чем значение 'max_allowed_packet'. -1 5.1.8
tcpKeepAlive Соединяя использование TCP/IP, должен набор драйверов SO_KEEPALIVE? истина 5.0.7
tcpNoDelay Соединяя использование TCP/IP, должен набор драйверов SO_TCP_NODELAY (запрещающий Алгоритм Nagle)? истина 5.0.7
tcpRcvBuf Соединяя использование TCP/IP, должен набор драйверов SO_RCV_BUF к данному значению? Значение по умолчанию '0', средства используют значение по умолчанию платформы для этого свойства), 0 5.0.7
tcpSndBuf Соединяя использование TCP/IP, должен набор драйверов SO_SND_BUF к данному значению? Значение по умолчанию '0', средства используют значение по умолчанию платформы для этого свойства), 0 5.0.7
tcpTrafficClass Соединяя использование TCP/IP, должен трафик набора драйверов поля типа службы или class? См. документацию forjava.net. Socket.setTrafficClass () для получения дополнительной информации. 0 5.0.7

Высокая доступность и Кластеризация.

Имя свойства Определение Значение по умолчанию Начиная с Версии
autoReconnect Драйвер должен попытаться восстановить устарелые и/или мертвые соединения? Если включено драйвер выдаст исключение для запросы, выпущенные на устарелом или мертвом соединении, которые принадлежат текущей транзакции, но попытаются, повторно соединяются перед следующим запросом, выпущенным на соединении в новой транзакции. Использование этой функции не рекомендуется, потому что этому связали побочные эффекты с состоянием сеанса и непротиворечивостью данных, когда приложения не обрабатывают SQLExceptions должным образом, и только разрабатываются, чтобы использоваться, когда Вы неспособны сконфигурировать свое приложение, чтобы обработать SQLExceptions, следующий из мертвых и устарелых соединений должным образом. Альтернативно, как последняя опция, исследуйте установку переменной сервера MySQL "wait_timeout" к высокому значению, а не значению по умолчанию 8 часов. ложь 1.1
autoReconnectForPools Используйте стратегию пересоединения, подходящую для пулов соединения (значения по умолчанию ко 'лжи') ложь 3.1.3
failOverReadOnly Перестав работать в autoReconnect режиме, соединение должно быть установлено в 'только для чтения'? истина 3.0.12
maxReconnects Максимальное количество повторно соединяется с попыткой, если autoReconnect является истиной, значение по умолчанию '3'. 3 1.1
reconnectAtTxEnd Если autoReconnect устанавливается в истину, драйвер должен делать попытку пересоединений в конце каждой транзакции? ложь 3.0.10
retriesAllDown При использовании выравнивания нагрузки число раз драйвер должен циклически повториться через доступные узлы, пытаясь соединиться. Между циклами драйвер приостановится для 250 мс, если никакие серверы не будут доступны. 120 5.1.6
initialTimeout Если autoReconnect включается, начальное время, чтобы ожидать между повторно соединяют попытки (в секундах, значениях по умолчанию к '2'). 2 1.1
roundRobinLoadBalance Когда autoReconnect включается, и failoverReadonly является ложью, мы должны выбрать узлы, чтобы соединиться с на круговой основе? ложь 3.1.2
queriesBeforeRetryMaster Число запросов, чтобы выйти перед отступанием к ведущему устройству когда отказавший по (при использовании мультиузла failover). Какой бы ни условие соблюдают сначала, 'queriesBeforeRetryMaster', или 'secondsBeforeRetryMaster' заставит попытку быть сделанной повторно соединиться с ведущим устройством. Значения по умолчанию к 50. 50 3.0.2
secondsBeforeRetryMaster Сколько времени должен драйвер ожидать, когда отказавший, перед попыткой 30 3.0.2
selfDestructOnPingMaxOperations Набор =If к ненулевому значению, драйвер сообщит близко о соединении и сообщит об отказе, когда Connection.ping () или Connection.isValid (интервал) вызовут, если количество соединения команд, отправленных серверу, превышает это значение. 0 5.1.6
selfDestructOnPingSecondsLifetime Если установлено в ненулевое значение, драйвер сообщит близко о соединении и сообщит об отказе, когда Connection.ping () или Connection.isValid (интервал) вызовут, если время жизни соединения превышает это значение. 0 5.1.6
resourceId Глобально уникальное имя, которое идентифицирует ресурс, что этот источник данных или соединение соединяются с, используются для XAResource.isSameRM (), когда драйвер не может значение determinethis, основанное на именах узлов, используемых в URL 5.0.1

Безопасность.

Имя свойства Определение Значение по умолчанию Начиная с Версии
allowMultiQueries Позвольте использование';' разграничить многократные запросы во время одного оператора (истина/ложь), значения по умолчанию ко 'лжи', и не влияет на addBatch () и executeBatch () методы, которые вместо этого полагаются на rewriteBatchStatements. ложь 3.1.1
useSSL Используйте SSL, связываясь с сервером (истина/ложь), значения по умолчанию ко 'лжи' ложь 3.0.2
requireSSL Потребуйте соединения SSL если useSSL=true? (значения по умолчанию ко 'лжи'). ложь 3.1.0
verifyServerCertificate Если "useSSL" устанавливается в "истину", драйвер должен проверить сертификат сервера? При использовании этой функции keystore параметры должны быть определены "clientCertificateKeyStore *" свойства, а не системные свойства. истина 5.1.6
clientCertificateKeyStoreUrl URL к клиентскому сертификату KeyStore (если не определенный, используйте значения по умолчанию), 5.1.0
clientCertificateKeyStoreType Тип KeyStore для клиентских сертификатов (НУЛЕВЫЕ или пустые средства используют значение по умолчанию, которое является "JKS". Стандарт keystore типы, поддерживаемые JVM, является "JKS" и "PKCS12", Ваша среда может иметь более доступный в зависимости от того, какие продукты безопасности устанавливаются и доступны JVM. JKS 5.1.0
clientCertificateKeyStorePassword Пароль для клиентских сертификатов KeyStore 5.1.0
trustCertificateKeyStoreUrl URL к доверяемому корневому сертификату KeyStore (если не определенный, используйте значения по умолчанию), 5.1.0
trustCertificateKeyStoreType Тип KeyStore для доверяемых корневых сертификатов (НУЛЕВЫЕ или пустые средства используют значение по умолчанию, которое является "JKS". Стандарт keystore типы, поддерживаемые JVM, является "JKS" и "PKCS12", Ваша среда может иметь более доступный в зависимости от того, какие продукты безопасности устанавливаются и доступны JVM. JKS 5.1.0
trustCertificateKeyStorePassword Пароль для доверяемых корневых сертификатов KeyStore 5.1.0
allowLoadLocalInfile Если драйвер позволяет использование 'ДАННЫХ ЗАГРУЗКИ ЛОКАЛЬНЫЙ INFILE...' (значения по умолчанию к 'истине'). истина 3.0.3
allowUrlInLocalInfile Драйвер должен позволить URL в операторах 'LOAD DATA LOCAL INFILE'? ложь 3.1.4
параноидальный Примите меры, чтобы предотвратить уязвимую информацию воздействия в сообщениях об ошибках и очистить структуры данных, содержащие уязвимые данные когда возможный? (значения по умолчанию ко 'лжи') ложь 3.0.1
passwordCharacterEncoding Какая кодировка символов используется для паролей? Оставляя этот набор значению по умолчанию (нуль), использует набор символов платформы, который работает на ISO8859_1 (то есть "latin1") пароли. Для паролей в других кодировках символов кодирование должно будет быть определено с этим свойством, как it'snot возможный для драйвера автоматически обнаружить это. 5.1.7

Расширения производительности.

Имя свойства Определение Значение по умолчанию Начиная с Версии
callableStmtCacheSize Если 'cacheCallableStmts' включается, сколько вызываемых операторов должно кэшироваться? 100 3.1.2
metadataCacheSize Число запросов, чтобы кэшировать ResultSetMetadata для того, если cacheResultSetMetaData устанавливается в 'истину' (значение по умолчанию 50) 50 3.1.1
useLocalSessionState Драйвер должен отнестись к внутренним значениям автоматической фиксации и изоляции транзакции, которые устанавливаются Connection.setAutoCommit () и Connection.setTransactionIsolation () и состояние транзакции, утвержденное протоколом, вместо того, чтобы запросить базу данных или вслепую отправить команды базе данных для фиксации () или откат () вызовы метода? ложь 3.1.7
useLocalTransactionState Драйвер должен использовать состояние в транзакции, обеспеченное протоколом MySQL, чтобы определить, должна ли фиксация () или откат () фактически быть отправлена базе данных? ложь 5.1.7
prepStmtCacheSize Если подготовленное кэширование оператора включается, сколько готовых операторов должно кэшироваться? 25 3.0.10
prepStmtCacheSqlLimit Если подготовленное кэширование оператора будет включено, что самый большой SQL является драйвером, то будет кэшировать парсинг для? 256 3.0.10
parseInfoCacheFactory Имя class, реализовывая com.mysql.jdbc. CacheAdapterFactory, который будет использоваться, чтобы создать кэши для проанализированного представления стороны клиента подготовленные операторы. com.mysql.jdbc. PerConnectionLRUFactory 5.1.1
serverConfigCacheFactory Имя реализации class com.mysql.jdbc.CacheAdapterFactory<String, Карта <Строка, Строка>>, который будет использоваться, чтобы создать кэши для значений конфигурации сервера MySQL com.mysql.jdbc.PerVmServerConfigCacheFactory 5.1.1
alwaysSendSetIsolation Драйвер должен всегда связываться с базой данных, когда Connection.setTransactionIsolation () вызывают? Если установлено в ложь, драйвер только свяжется с базой данных, когда требуемая изоляция транзакции будет отличаться чем, какой бы ни более ново, последнее значение, которое было установлено через Connection.setTransactionIsolation (), или значение, которое было считано из сервера, когда соединение было установлено. Отметьте, что useLocalSessionState=true вызовет то же самое поведение как alwaysSendSetIsolation=false, независимо от того, как alwaysSendSetIsolation устанавливается. истина 3.1.7
maintainTimeStats Драйвер должен поддержать различные внутренние таймеры, чтобы включить вычислениям времени простоя так же как большему количеству многословных сообщений об ошибках, когда связь с сервером прерывается? Установка этого свойства ко лжи удаляет по крайней мере два звонка в System.getCurrentTimeMillis () на запрос. истина 3.1.9
useCursorFetch Если соединено с MySQL> 5.0.2, и setFetchSize ()> 0 на операторе, тот оператор должен использовать основанную на курсоре выборку, чтобы получить строки? ложь 5.0.0
blobSendChunkSize Блок, чтобы использовать, отправляя BLOB/CLOBs через ServerPreparedStatements 1048576 3.1.9
cacheCallableStmts Если драйвер кэширует этап парсинга CallableStatements ложь 3.1.2
cachePrepStmts Действительно ли драйвер должен кэшировать этап парсинга PreparedStatements стороны клиента подготовленные операторы, "проверка" на пригодность стороны сервера подготовленная и сторона сервера подготовленные операторы непосредственно? ложь 3.0.10
cacheResultSetMetadata Действительно ли драйвер должен кэшировать ResultSetMetaData для Операторов и PreparedStatements? (Req. JDK 1.4 +, истина/ложь, значение по умолчанию 'ложь') ложь 3.1.1
cacheServerConfiguration Действительно ли драйвер должен кэшировать результаты 'ВЫСТАВОЧНЫХ ПЕРЕМЕННЫХ' и 'ВЫСТАВОЧНОГО СОПОСТАВЛЕНИЯ' на основе на URL? ложь 3.1.5
defaultFetchSize Драйвер вызовет setFetchSize (n) с этим значением на всех недавно создаваемых Операторах 0 3.1.9
dontTrackOpenResources Спецификация JDBC требует, чтобы драйвер автоматически отследил и закрыл ресурсы, однако если Ваше приложение не делает хорошего задания явного вызова близко () на операторах или наборах результатов, это может вызвать утечку памяти. Установка этого свойства к истине ослабляет это ограничение, и может быть большим количеством памяти, эффективной для некоторых приложений. ложь 3.1.7
dynamicCalendars Драйвер должен получить календарь значения по умолчанию когда требующийся, или кэшировать это / сеанс для каждого подключения? ложь 3.1.5
elideSetAutoCommits Используя MySQL 4.1 или более новый, драйвер должен только выпустить 'набор autocommit=n' запросы, когда состояние сервера не соответствует требуемое состояние (булевым) Connection.setAutoCommit? ложь 3.1.3
enableQueryTimeouts Когда включено, набор тайм-аутов запроса через Statement.setQueryTimeout () используют совместно используемый java.util. Экземпляр таймера для того, чтобы запланировать. Даже если тайм-аут не истекает прежде, чем запрос обрабатывается, будет память, используемая TimerTask для данного тайм-аута, который не будет исправлен до времени истек бы тайм-аут, если бы это не было отменено драйвером. Среды высокой загрузки могли бы хотеть рассмотреть отключение этой функциональности. истина 5.0.6
holdResultsOpenOverStatementClose Драйвер должен закрыть наборы результатов на Statement.close () как требуется спецификацией JDBC? ложь 3.1.7
largeRowSizeThreshold Какую строку набора результатов размера драйвер JDBC должен считать "большим", и таким образом использовать более эффективный памятью способ представить строку внутренне? 2048 5.1.1
loadBalanceStrategy Используя сбалансированное с загрузки соединение, чтобы соединить с узлами SQL в MySQL конфигурацию Cluster/NDB (при использовании URL снабжают префиксом "jdbc:mysql:loadbalance://"), какой алгоритм выравнивания нагрузки должен использование драйвера: (1) "случайный" - драйвер выберет случайный узел к каждому запросу. Это имеет тенденцию работать лучше чем круговой, поскольку случайность несколько учтет распространение загрузок, где запросы изменяются во время отклика, в то время как круговой может иногда приводить к перегруженным узлам, если есть изменения во время отклика через рабочую нагрузку. (2) "bestResponseTime" - драйвер направит запрос к узлу, у которого было лучшее время отклика для предыдущей транзакции. случайный 5.0.6
locatorFetchBufferSize Если 'emulateLocators' конфигурируется к 'истине', какой буфер размера должен использоваться, выбирая данные BLOB для getBinaryInputStream? 1048576 3.2.1
rewriteBatchedStatements Драйвер должен использовать мультизапросы (независимо от установка "allowMultiQueries"), так же как перезапись готовых операторов для ВСТАВКИ в мультизначение вставляет, когда executeBatch () вызывают? Заметьте, что у этого есть потенциал для инжекции SQL, используя плоскость java.sql. Операторы и Ваш код не санируют ввод правильно. Заметьте, что для готовых операторов, сторона сервера подготовленные операторы не могут в настоящий момент использовать в своих интересах эту опцию перезаписи, и что, если Вы не определяете потоковые длины при использовании PreparedStatement.set*Stream (), драйвер не будет в состоянии определить оптимальное число параметров на пакет, и Вы могли бы получить ошибку от драйвера, что результирующий пакет является слишком большим. Statement.getGeneratedKeys () для этих переписанных операторов только работает, когда весь пакет включает операторы INSERT. ложь 3.1.13
useDirectRowUnpack Используйте более новый код распаковки строки набора результатов, который пропускает копию от сетевых буферов до пакетного экземпляра MySQL и вместо этого читает непосредственно в буферы данных строки набора результатов. истина 5.1.1
useDynamicCharsetInfo Драйвер должен использовать кэш для каждого подключения информации о наборе символов, запрошенной от сервера когда необходимо, или использовать встроенное статическое отображение, которое более эффективно, но не знает о пользовательских наборах символов или наборах символов, реализованных после выпуска драйвера JDBC? истина 5.0.6
useFastDateParsing Используйте внутреннюю Строку-> подпрограммы преобразования Даты/Времени/Метки времени, чтобы избежать чрезмерного объектного создания? истина 5.0.5
useFastIntParsing Используйте внутреннюю Строку-> Целочисленные подпрограммы преобразования, чтобы избежать чрезмерного объектного создания? истина 3.1.4
useJvmCharsetConverters Всегда используйте подпрограммы кодировки символов, встроенные в JVM, вместо того, чтобы использовать таблицы поиска для однобайтовых наборов символов? ложь 5.0.1
useReadAheadInput Используйте более новое, оптимизированное неблокирование, буферизованный входной поток когда readingfrom сервер? истина 3.1.5

Отладка/Профилирование.

Имя свойства Определение Значение по умолчанию Начиная с Версии
регистратор Имя class, который реализует "com.mysql.jdbc.log.Log", который будет использоваться, чтобы зарегистрировать сообщения к. (значение по умолчанию "com.mysql.jdbc.log. StandardLogger", который регистрирует к STDERR), com.mysql.jdbc.log. StandardLogger 3.1.1
gatherPerfMetrics Драйвер должен собрать метрики производительности, и сообщить о них через сконфигурированный регистратор каждый 'reportMetricsIntervalMillis' миллисекунды? ложь 3.1.2
profileSQL Запросы трассировки и их времена выполнения/выборки к сконфигурированному регистратору (истина/ложь) значения по умолчанию ко 'лжи' ложь 3.1.0
profileSql Осуждаемый, используйте 'profileSQL' вместо этого. Запросы трассировки и их времена выполнения/выборки на STDERR (истина/ложь) значения по умолчанию ко 'лжи' 2.0.14
reportMetricsIntervalMillis Если 'gatherPerfMetrics' включается, как часто они должны быть зарегистрированы (в мс)? 30000 3.1.2
maxQuerySizeToLog Управляет максимальной длиной/размером запроса, который будет зарегистрирован, профилируя или прослеживая 2048 3.1.3
packetDebugBufferSize Максимальное количество пакетов, чтобы сохранить, когда 'enablePacketDebug' является истиной 20 3.1.3
slowQueryThresholdMillis Если 'logSlowQueries' включается, сколько времени должен запрос (в мс) прежде, чем это будет зарегистрировано как 'медленное'? 2000 3.1.2
slowQueryThresholdNanos Если 'useNanosForElapsedTime' будет установлен в истину, и это свойство устанавливается в ненулевое значение, то драйвер будет использовать этот порог (в модулях наносекунды), чтобы определить, был ли запрос медленным. 0 5.0.7
useUsageAdvisor Драйвер должен выпустить предупреждения 'использования', советуя надлежащему и эффективному использованию JDBC и MySQL, Connector/J к журналу (истина/ложь, значения по умолчанию ко 'лжи')? ложь 3.1.1
autoGenerateTestcaseScript Драйвер должен вывести SQL, который он выполняет, включая сторону сервера подготовленные операторы к STDERR? ложь 3.1.9
autoSlowLog Вместо того, чтобы использовать slowQueryThreshold*, чтобы определить, является ли запрос достаточно медленным, чтобы быть зарегистрированным, поддержите статистические данные, которые позволяют драйверу определять запросы, которые являются вне 99-ой процентили? истина 5.1.4
clientInfoProvider Имя class, который реализует com.mysql.jdbc. JDBC4ClientInfoProvider взаимодействуют через интерфейс, чтобы поддерживать Connection.get/setClientInfo JDBC-4.0 () методы com.mysql.jdbc.JDBC4CommentClientInfoProvider 5.1.0
dumpMetadataOnColumnNotFound Драйвер должен вывести метаданные на уровне поля набора результатов в сообщение об исключительной ситуации, когда ResultSet.findColumn () перестал работать? ложь 3.1.13
dumpQueriesOnException Драйвер должен вывести содержание запроса, отправленного серверу в сообщении для SQLExceptions? ложь 3.1.3
enablePacketDebug Когда включено, кольцевой буфер 'packetDebugBufferSize' пакетов будет сохранен, и выведен, когда исключения будут выданы в ключевых областях в коде драйвера ложь 3.1.3
explainSlowQueries Если 'logSlowQueries' включается, драйвер должен автоматически выпустить 'ОБЪЯСНЕНИЕ' на сервере и отправить результаты сконфигурированному журналу на ПРЕДУПРЕДИТЬ уровне? ложь 3.1.2
includeInnodbStatusInDeadlockExceptions Включайте вывод "ВЫСТАВОЧНОГО МЕХАНИЗМА СОСТОЯНИЕ INNODB" в сообщениях об исключительной ситуации, когда исключения мертвой блокировки обнаруживаются? ложь 5.0.7
includeThreadDumpInDeadlockExceptions Включайте текущий дамп потока Java в сообщения об исключительной ситуации, когда исключения мертвой блокировки обнаруживаются? ложь 5.1.15
includeThreadNamesAsStatementComment Включайте имя текущего потока как комментарий, видимый на "ШОУ PROCESSLIST", или в дампах мертвой блокировки Innodb, полезных в корреляции с "includeInnodbStatusInDeadlockExceptions=true" и "includeThreadDumpInDeadlockExceptions=true". ложь 5.1.15
logSlowQueries Должны запросы, которые занимают больше времени чем 'slowQueryThresholdMillis' быть зарегистрированными? ложь 3.1.2
logXaCommands Драйвер должен зарегистрировать команды XA, отправленные MysqlXaConnection серверу на уровне ОТЛАДКИ журналирования? ложь 5.0.5
profilerEventHandler Имя class, который реализует интерфейс com.mysql.jdbc.profiler.ProfilerEventHandler, который будет использоваться, чтобы обработать события профилирования/трассировки. com.mysql.jdbc.profiler.LoggingProfilerEventHandler 5.1.6
resultSetSizeThreshold Если советнику по вопросам использования включают, сколько строк набор результатов должен содержать прежде, чем драйвер предупреждает, что это является подозрительно большим? 100 5.0.5
traceProtocol Сетевой протокол на уровне трассировки должен быть зарегистрирован? ложь 3.1.2
useNanosForElapsedTime Для того, чтобы профилировать/отладить функциональность, которая измеряет прошедшее время, драйвер должен попытаться использовать разрешение наносекунд ifavailable (JDK> = 1.5)? ложь 5.0.7

Разное.

Имя свойства Определение Значение по умолчанию Начиная с Версии
useUnicode Драйвер должен использовать кодировки символов Unicode, обрабатывая строки? Должен только использоваться, когда драйвер не может определить отображение наборов символов, или Вы пытаетесь 'вынудить' драйвер использовать набор символов, который MySQL любой исходно не поддерживает (такие как UTF-8), истина/ложь, значения по умолчанию к 'истине' истина 1.1 г
characterEncoding Если 'useUnicode' устанавливается в истину, какую кодировку символов драйвер должен использовать, имея дело со строками? (значения по умолчанию должны 'автоматически обнаружить'), 1.1 г
characterSetResults Набор символов, чтобы сказать серверу возвращать результаты как. 3.0.13
connectionAttributes Разграниченный запятой список определяемых пользователем key:value пар (в дополнение к стандарту определенные с помощью MySQL key:value пары), чтобы быть переданным к MySQL Server для дисплея как соединение приписывает в таблице PERFORMANCE_SCHEMA.SESSION_CONNECT_ATTRS. Использование в качестве примера: connectionAttributes=key1:value1,key2:value2 Эта функциональность доступна для использования с версией 5.6 MySQL Server или позже только. Более ранние версии MySQL Server не поддерживают атрибуты соединения, вызывая этот параметр конфигурации будет проигнорирован. Установка connectionAttributes=none заставит обработку атрибута соединения обойтись для ситуаций, где скорость создания/инициализации Соединения является критической. 5.1.25
connectionCollation Если установлено, говорит серверу использовать это сопоставление через 'набор collation_connection' 3.0.13
useBlobToStoreUTF8OutsideBMP Говорит драйверу обрабатывать [СРЕДНИЕ/ДЛИННЫЕ] столбцы BLOB как [ДЛИННЫЕ] столбцы VARCHAR, содержащие текст, закодированный в UTF-8, у которого есть символы вне BMP (4-байтовые кодировки), который сервер MySQL не может обработать исходно. ложь 5.1.3
utf8OutsideBmpExcludedColumnNamePattern Когда "useBlobToStoreUTF8OutsideBMP" будет установлен в "истину", имена столбцов, соответствующие данный regex, будут все еще обработаны как BLOB, если они не соответствуют regex, определенный для "utf8OutsideBmpIncludedColumnNamePattern". regex должен следовать за образцами, используемыми для java.util.regex пакета. 5.1.3
utf8OutsideBmpIncludedColumnNamePattern Используемый, чтобы определить исключение управляет к "utf8OutsideBmpExcludedColumnNamePattern". regex должен следовать за образцами, используемыми для java.util.regex пакета. 5.1.3
loadBalanceEnableJMX Включает JMX-на-основе управлению сбалансированными с загрузки группами соединения, включая живое дополнение/удаление узлов от пула выравнивания нагрузки. ложь 5.1.13
sessionVariables Список разделенных запятой значений пар имя/значение, которые будут отправлены как СЕАНС НАБОРА... к серверу, когда драйвер соединяется. 3.1.8
useColumnNamesInFindColumn До JDBC-4.0 спецификации JDBC связали ошибку с тем, что могло быть дано как "имя столбца" к методам ResultSet как findColumn (), или методы get, которые взяли свойство String. JDBC-4.0 разъясненное "имя столбца", чтобы означать метку, как дано в пункте "AS" и возвратился ResultSetMetaData.getColumnLabel (), и если никакой пункт AS, имя столбца. Установка этого свойства к "истине" даст поведение, которое является конгруэнтным JDBC-3.0 и более ранним версиям спецификации JDBC, но которое из-за ошибки спецификации могло дать неожиданные результаты. Это свойство предпочитается по "useOldAliasMetadataBehavior", если Вы не нуждаетесь в определенном поведении, которое это обеспечивает относительно ResultSetMetadata. ложь 5.1.7
allowNanAndInf Драйвер должен позволить НЭН или +/-INF значения в PreparedStatement.setDouble ()? ложь 3.1.5
autoClosePStmtStreams Драйвер должен автоматически вызвать.close () на потоках/читателях, которые передают как параметры через набор * () методы? ложь 3.1.12
автодесериализовать Драйвер должен автоматически обнаружить и десериализовать объекты, хранившие в полях BLOB? ложь 3.1.5
blobsAreStrings Драйвер должен всегда обрабатывать BLOB как Строки - определенно, чтобы работать вокруг сомнительных метаданных, возвращенных сервером для пунктов GROUP BY? ложь 5.0.8
capitalizeTypeNames Используйте для своей выгоды имена типов в DatabaseMetaData? (обычно только полезный при использовании WebObjects, истины/лжи, значений по умолчанию ко 'лжи') истина 2.0.7
clobCharacterEncoding Кодировка символов, чтобы использовать для отправки и получения ТЕКСТА, MEDIUMTEXT и LONGTEXT оценивает вместо сконфигурированного соединения characterEncoding 5.0.0
clobberStreamingResults Это заставит 'потоковую передачу' ResultSet быть автоматически закрытой, и любые выдающиеся данные, все еще передающие потоком от сервера, который будет отброшен, если другой запрос будет выполняться прежде, чем все данные были считаны из сервера. ложь 3.0.9
compensateOnDuplicateKeyUpdateCounts Драйвер должен компенсировать количества обновления "НА ДВОЙНЫХ КЛЮЧЕВЫХ" операторах INSERT (2 = 1, 0 = 1) при использовании готовых операторов? ложь 5.1.7
continueBatchOnError Если драйвер продолжает обрабатывать пакетные команды, если один оператор перестал работать. Спецификация JDBC позволяет так или иначе (значения по умолчанию к 'истине'). истина 3.0.3
createDatabaseIfNotExist Создает базу данных, данную в URL, если это еще не существует. Предполагает, что у сконфигурированного пользователя есть полномочия, чтобы создать базы данных. ложь 3.1.9
emptyStringsConvertToZero Драйвер должен позволить преобразования от пустых строковых полей до числовых значений '0'? истина 3.1.8
emulateLocators Если драйвер эмулирует java.sql. Блобы с локаторами? С этой активированной опцией драйвер задержит загрузку фактических данных Блоба, пока к тому из методов извлечения (getInputStream (), getBytes (), и т.д) на потоке данных блоба не получили доступ. Для этого, чтобы работать, следует использовать псевдоним столбца со значением столбца к подлинному имени Блоба. У функции также есть следующие ограничения: ИЗБРАННОЕ, которое создало набор результатов, должно сослаться только на одну таблицу, у таблицы должен быть первичный ключ; ИЗБРАННОЕ должно исказить исходное имя столбца блоба, определенное как строка, к альтернативному названию; ИЗБРАННОЕ должно покрыть все столбцы, которые составляют первичный ключ. ложь 3.1.0
emulateUnsupportedPstmts Драйвер должен обнаружить подготовленные операторы, которые не поддерживаются сервером, и заменяют их стороной клиента эмулированные версии? истина 3.1.7
exceptionInterceptors Разграниченный запятой список классов та реализация com.mysql.jdbc. ExceptionInterceptor. Эти классы инстанцируют один экземпляр для каждого подключения, и всему SQLExceptions, брошенному драйвером, позволят быть прерванным этими перехватчиками, цепочечным способом, с первым class, перечисленным как верхняя часть цепочки. 5.1.8
functionsNeverReturnBlobs Драйвер должен всегда обрабатывать данные от функций, возвращая BLOB как Строки - определенно, чтобы работать вокруг сомнительных метаданных, возвращенных сервером для пунктов GROUP BY? ложь 5.0.8
generateSimpleParameterMetadata Драйвер должен генерировать упрощенные метаданные параметра для PreparedStatements, когда никакие метаданные не доступны или потому что сервер не мог поддерживать подготовку оператора, или стороны сервера, подготовленные операторы отключаются? ложь 5.0.5
ignoreNonTxTables Проигнорируйте нетранзакционное табличное предупреждение для отката? (значения по умолчанию ко 'лжи'). ложь 3.0.9
jdbcCompliantTruncation Если бросок драйвера java.sql. Исключения DataTruncation, когда данные являются усеченными, как требуется спецификацией JDBC когда соединено с сервером, который поддерживает предупреждения (MySQL 4.1.0 и более новый)? Это свойство не имеет никакого эффекта, если sql-режим сервера включает STRICT_TRANS_TABLES. истина 3.1.2
loadBalanceAutoCommitStatementRegex Когда выравнивание нагрузки будет включено для операторов автоматической фиксации (через loadBalanceAutoCommitStatementThreshold), счетчик оператора только постепенно увеличится, когда SQL соответствует регулярное выражение. По умолчанию, каждый оператор выпущенные соответствия. 5.1.15
loadBalanceAutoCommitStatementThreshold Когда автоматическая фиксация включается, число операторов, которые должны быть выполнены прежде, чем инициировать выравнивание нагрузки, чтобы повторно балансироваться. Значение по умолчанию 0 причин, сбалансированные с загрузки соединения, чтобы только повторно балансироваться, когда с исключениями встречаются, или автоматическая фиксация, отключаются и транзакции, явно фиксируется или откатывается. 0 5.1.15
loadBalanceBlacklistTimeout Время в миллисекундах между проверками серверов, которые недоступны, управляя, сколько времени сервер живет в глобальном черном списке. 0 5.1.0
loadBalanceConnectionGroup Логическая группа сбалансированных с загрузки соединений в пределах classloader, используемого, чтобы управлять различными группами независимо. Если не определенное, живое управление сбалансированными с загрузки соединениями отключается. 5.1.13
loadBalanceExceptionChecker Полностью определенное имя class пользовательского средства проверки исключения. class должен реализовать com.mysql.jdbc.LoadBalanceExceptionChecker интерфейс, и используется, чтобы осмотреть SQLExceptions и определить, должны ли они инициировать сбой - к другому узлу в сбалансированном с загрузки развертывании. com.mysql.jdbc.StandardLoadBalanceExceptionChecker 5.1.13
loadBalancePingTimeout Время в миллисекундах, чтобы ожидать ответа ping от каждого из сбалансированных с загрузки физических соединений при использовании сбалансированного с загрузки Соединения. 0 5.1.13
loadBalanceSQLExceptionSubclassFailover Разграниченный запятой список классов/интерфейсов, используемых по умолчанию сбалансированное с загрузки средство проверки исключения, чтобы определить, должен ли данный SQLException инициировать failover. Сравнение делается, используя Class.isInstance (SQLException) использование брошенного SQLException. 5.1.13
loadBalanceSQLStateFailover Разграниченный запятой список кодов SQLState, используемых по умолчанию сбалансированное с загрузки средство проверки исключения, чтобы определить, должен ли данный SQLException инициировать failover. SQLState данного SQLException оценивается, чтобы определить, начинается ли он с какого-либо значения в разграниченном запятой списке. 5.1.13
loadBalanceValidateConnectionOnSwapServer Сбалансированное с загрузки Соединение должно явно проверить, живо ли соединение, подкачивая к новому физическому соединению в фиксации/откате? ложь 5.1.13
maxRows Максимальное количество строк, чтобы возвратиться (0, средства значения по умолчанию возвращают все строки). -1 все версии
netTimeoutForStreamingResults Какое значение драйвер должен автоматически установить сервер, устанавливающий 'net_write_timeout' к тому, когда функция наборов результатов потоковой передачи используется? (у значения есть модуль секунд, значение '0' означает, что драйвер не будет пытаться скорректировать это значение), 600 5.1.0
noAccessToProcedureBodies Когда определение типов параметра процедуры для CallableStatements, и соединенного пользователя не может получить доступ к телам процедуры через, "ПОКАЗЫВАЮТ CREATE PROCEDURE" или выбирают на mysql.proc, которым драйвер должен вместо этого создать основные метаданные (все параметры, о которых сообщают как В VARCHARs, но позволяющий registerOutParameter (), чтобы быть вызванным на них так или иначе) вместо того, чтобы выдать исключение? ложь 5.0.3
noDatetimeStringSync Не гарантируйте что ResultSet.getDatetimeType ().toString ().equals (ResultSet.getString) ложь 3.1.7
noTimezoneConversionForTimeType Не преобразовывайте Временные стоимости, используя часовой пояс сервера если 'useTimezone' = 'истина' ложь 5.0.0
nullCatalogMeansCurrent Когда DatabaseMetadataMethods просят параметр 'каталога', нуль значения означает использование текущий каталог? (это не JDBC-совместимо, но следует за поведением наследства от более ранних версий драйвера), истина 3.1.8
nullNamePatternMatchesAll Если методы DatabaseMetaData, которые принимают *pattern параметры, обрабатывают нуль то же самое как '%' (это не JDBC-совместимо, однако более старые версии драйвера, принятого это отклонение от спецификации), истина 3.1.8
overrideSupportsIntegrityEnhancementFacility Драйвер должен возвратить "true" для DatabaseMetaData.supportsIntegrityEnhancementFacility (), даже если база данных не поддерживает это к приложениям обходного решения, которые требуют, чтобы этот метод возвратил "true", чтобы сигнализировать поддержку внешних ключей, даже при том, что спецификация SQL утверждает, что это средство содержит намного больше чем только поддержка внешнего ключа (одно такое приложение, являющееся OpenOffice)? ложь 3.1.12
padCharsWithSpace Если у столбца набора результатов есть тип CHAR, и значение не заполняет количество символов, определенных в DDL для столбца, драйвер должен дополнить остающиеся символы пространством (для соответствия ANSI)? ложь 5.0.6
педантичный Следуйте за спецификацией JDBC к букве. ложь 3.0.0
pinGlobalTxToPhysicalConnection При использовании XAConnections драйвер должен гарантировать, что операции на данном XID всегда направляются к тому же самому физическому соединению? Это позволяет XAConnection поддерживать "XA, ЗАПУСКАЮТСЯ... ПРИСОЕДИНИТЕСЬ" После того, как "КОНЕЦ XA" вызвали ложь 5.0.1
populateInsertRowWithDefaultValues При использовании ResultSets, которые являются CONCUR_UPDATABLE, драйвер должен предварительно заполнить строку "вставки" со значениями по умолчанию от DDL для таблицы, используемой в запросе, таким образом, те значения сразу доступны для средств доступа ResultSet? Эта функциональность требует звонка в базу данных для метаданных каждый раз, когда набор результатов этого типа создается. Если отключено (значение по умолчанию), значения по умолчанию будут заполнены внутренний звонок refreshRow (), который задерживает значения по умолчанию и/или оценивает измененный триггерами. ложь 5.0.5
processEscapeCodesForPrepStmts Драйвер должен обработать коды escape в запросах, которые готовятся? истина 3.1.12
queryTimeoutKillsConnection Если тайм-аут, данный в Statement.setQueryTimeout (), истекает, драйвер должен насильственно прервать Соединение вместо того, чтобы пытаться прервать запрос? ложь 5.1.9
relaxAutoCommit Если версия MySQL, с которым соединяется драйвер, не поддерживает транзакции, все еще позволяет вызовам фиксировать (), откат () и setAutoCommit () (истина/ложь, значения по умолчанию ко 'лжи')? ложь 2.0.13
retainStatementAfterResultSetClose Если драйвер сохраняет ссылку Оператора в ResultSet после того, как ResultSet.close () вызвали. Это не JDBC-совместимо после JDBC-4.0. ложь 3.1.11
rollbackOnPooledClose Драйвер должен выпустить откат (), когда логическое соединение в пуле закрывается? истина 3.0.15
runningCTS13 Включает обходным решениям для ошибок в соответствии Sun JDBC testsuite версия 1.3 ложь 3.1.7
serverTimezone Обнаружение/отображение переопределения часового пояса. Используемый, когда часовой пояс от сервера не отображается на часовой пояс Java 3.0.2
statementInterceptors Разграниченный запятой список классов та реализация "com.mysql.jdbc. StatementInterceptor", который должен быть размещен "промежуточный" выполнение запроса, чтобы влиять на результаты. StatementInterceptors являются "chainable", результаты, возвращенные "текущим" перехватчиком, будут переданы следующему в в цепочке, от слева направо порядка, как определено в этом свойстве. 5.1.1
strictFloatingPoint Используемый только в более старых версиях теста соответствия ложь 3.0.0
strictUpdates Драйвер должен сделать строгую проверку (все выбранные первичные ключи) обновляемых наборов результатов (истина, ложь, значения по умолчанию к 'истине')? истина 3.0.4
tinyInt1isBit Драйвер должен обработать тип данных TINYINT (1) как тип BIT (потому что сервер тихо преобразовывает BIT-> TINYINT (1), составляя таблицы)? истина 3.0.16
transformedBitIsBoolean Если драйвер преобразовывает TINYINT (1) в различный тип, это должно использовать БУЛЕВ вместо BIT для будущей совместимости с MySQL 5.0, поскольку у MySQL 5.0 есть НЕМНОГО типа? ложь 3.1.9
treatUtilDateAsTimestamp Если обработка драйвера java.util. Дата как МЕТКА ВРЕМЕНИ в целях PreparedStatement.setObject ()? истина 5.0.5
ultraDevHack Создайте PreparedStatements для prepareCall () когда требующийся, потому что Ультрадев повреждается и выпускает prepareCall () для _all_ операторов? (истина/ложь, значения по умолчанию ко 'лжи') ложь 2.0.3
useAffectedRows Не устанавливайте флаг CLIENT_FOUND_ROWS, соединяясь с сервером (не JDBC-совместимый, повредит большинство приложений, которые полагаются "на найденные" строки по сравнению со "строками, на которые влияют", для операторов DML), но действительно заставляет "корректные" количества обновления от операторов "INSERT... ON DUPLICATE KEY UPDATE" быть возвращенными сервером. ложь 5.1.7
useGmtMillisForDatetimes Преобразуйте между часовым поясом сеанса, и GMT прежде, чем создать экземпляры Даты и Метки времени (значение "лжи" является поведением наследства, "истина" приводит к Более JDBC-совместимому поведению. ложь 3.1.12
useHostsInPrivileges Добавьте '@hostname' к пользователям в DatabaseMetaData.getColumn/TablePrivileges () (истина/ложь), значения по умолчанию к 'истине'. истина 3.0.2
useInformationSchema Когда соединено с MySQL 5.0.7 или более новый, драйвер должен использовать INFORMATION_SCHEMA, чтобы получить информацию, используемую DatabaseMetaData? ложь 5.0.0
useJDBCCompliantTimezoneShift Если использование драйвера JDBC-совместимые правила, преобразовывая информацию о часовом поясе значений TIME/TIMESTAMP/DATETIME для тех параметров JDBC, которые берут java.util. Календарный параметр? (Заметьте, что эта опция является монопольной из "useTimezone=true" параметра конфигурации.) ложь 5.0.0
useLegacyDatetimeCode Используйте код для DATE/TIME/DATETIME/TIMESTAMP, обрабатывающего в наборах результатов и операторах, который последовательно обрабатывает преобразования часового пояса от клиента к серверу и назад снова, или используйте код наследства для этих типов данных, который был в драйвере для назад-совместимости? истина 5.1.6
useOldAliasMetadataBehavior Драйвер должен использовать поведение наследства для пунктов "AS" на столбцах и таблицах, и только возвратить псевдонимы (если кто-либо) для ResultSetMetaData.getColumnName () или ResultSetMetaData.getTableName (), а не исходный столбец/имя таблицы? В 5.0.x, значение по умолчанию было истиной. ложь 5.0.4
useOldUTF8Behavior Используйте поведение UTF-8, которое драйвер сделал, связываясь с 4.0 и более старые серверы ложь 3.1.6
useOnlyServerErrorMessages Не предварительно ожидайте 'стандартные' сообщения об ошибках SQLState к сообщениям об ошибках, возвращенным сервером. истина 3.0.15
useSSPSCompatibleTimezoneShift Переходя от среды, которая использовала сторону сервера, подготовленные операторы, и свойство конфигурации "useJDBCCompliantTimeZoneShift" набор к "истине", используют совместимое поведение, если не используя сторону сервера, которую подготовленные операторы, отправляя МЕТКУ ВРЕМЕНИ оценивают серверу MySQL. ложь 5.0.5
useServerPrepStmts Используйте сторону сервера подготовленные операторы, если сервер поддерживает их? ложь 3.1.0
useSqlStateCodes Используйте коды состояния Стандарта SQL вместо 'наследства' X/Open/SQL коды состояния (истина/ложь), значение по умолчанию является 'истиной' истина 3.1.3
useStreamLengthsInPrepStmts Потоковый параметр длины чести в PreparedStatement/ResultSet.setXXXStream () вызовы метода (истина/ложь, значения по умолчанию к 'истине')? истина 3.0.2
useTimezone Преобразуйте типы времени/даты между часовыми поясами клиента и сервера (истина/ложь, значения по умолчанию ко 'лжи')? ложь 3.0.2
useUnbufferedInput Не используйте BufferedInputStream для того, чтобы считать данные из сервера истина 3.0.11
yearIsDateType Если обработка драйвера JDBC тип MySQL "ГОД" как java.sql. Дата, или как КОРОТКОЕ? истина 3.1.9
zeroDateTimeBehavior Что должно произойти, когда драйвер встречается со значениями DATETIME, которые составляются полностью нулей (используемый MySQL, чтобы представить недопустимые даты)? Допустимые значения являются "исключением", "вокруг" и "convertToNull". исключение 3.1.4

Connector/J также поддерживает доступ к MySQL, используя именованные каналы на Windows NT, Windows 2000, или Windows XP, используя NamedPipeSocketFactory как фабрика сменного сокета, используя socketFactory свойство. Если Вы не используете a namedPipePath свойство, значение по умолчанию '\\.\pipe\MySQL' используется. Если Вы используете NamedPipeSocketFactory, значения имени хоста и номера порта в url JDBC игнорируются. Чтобы активировать эту опцию, используйте:

socketFactory=com.mysql.jdbc.NamedPipeSocketFactory

Именованные каналы только работают, соединяясь с сервером MySQL на той же самой физической машине, куда драйвер JDBC работает. В простых тестах производительности доступ именованного канала между 30 на %-50 % быстрее чем стандартный доступ TCP/IP. Однако, это изменяется на систему, и именованные каналы медленнее чем TCP/IP во многих конфигурациях Windows.

Чтобы создать Ваши собственные фабрики сокета, следуйте за примером кода в com.mysql.jdbc.NamedPipeSocketFactory, или com.mysql.jdbc.StandardSocketFactory.

21.3.5.1.1. Файлы свойств для useConfigs Опция

useConfigs опция соединения является удобным сокращением для того, чтобы определить комбинации опций для определенных сценариев. Значения аргументов, которые можно использовать с этой опцией, соответствуют именам .properties файлы в пределах Connector/J mysql-connector-java-version-bin.jar Файл JAR. Например, Connector/J 5.1.9 драйвера включает следующие файлы свойств конфигурации:

$ unzip mysql-connector-java-5.1.19-bin.jar '*/configs/*'Archive:  mysql-connector-java-5.1.19-bin.jar   creating: com/mysql/jdbc/configs/  inflating: com/mysql/jdbc/configs/3-0-Compat.properties    inflating: com/mysql/jdbc/configs/5-0-Compat.properties    inflating: com/mysql/jdbc/configs/clusterBase.properties    inflating: com/mysql/jdbc/configs/coldFusion.properties    inflating: com/mysql/jdbc/configs/fullDebug.properties    inflating: com/mysql/jdbc/configs/maxPerformance.properties    inflating: com/mysql/jdbc/configs/solarisMaxPerformance.properties 

Чтобы определить одну из этих комбинаций опций, определить useConfigs=3-0-Compat, useConfigs=maxPerformance, и так далее. Следующие разделы показывают варианты, которые являются частью каждого useConfigs установка. Для деталей того, почему каждый включается, см. комментарии в .properties файлы.

3-0-Compat
emptyStringsConvertToZero=truejdbcCompliantTruncation=falsenoDatetimeStringSync=truenullCatalogMeansCurrent=truenullNamePatternMatchesAll=truetransformedBitIsBoolean=falsedontTrackOpenResources=truezeroDateTimeBehavior=convertToNulluseServerPrepStmts=falseautoClosePStmtStreams=trueprocessEscapeCodesForPrepStmts=falseuseFastDateParsing=falsepopulateInsertRowWithDefaultValues=falseuseDirectRowUnpack=false
5-0-Compat
useDirectRowUnpack=false
clusterBase
autoReconnect=truefailOverReadOnly=falseroundRobinLoadBalance=true
coldFusion
useDynamicCharsetInfo=falsealwaysSendSetIsolation=falseuseLocalSessionState=trueautoReconnect=true
fullDebug
profileSQL=truegatherPerMetrics=trueuseUsageAdvisor=truelogSlowQueries=trueexplainSlowQueries=true
maxPerformance
cachePrepStmts=truecacheCallableStmts=truecacheServerConfiguration=trueuseLocalSessionState=trueelideSetAutoCommits=truealwaysSendSetIsolation=falseenableQueryTimeouts=false
solarisMaxPerformance
useUnbufferedInput=falseuseReadAheadInput=falsemaintainTimeStats=false