Spec-Zone .ru
спецификации, руководства, описания, API
|
MySQL Server options и системные переменные, описанные в этом разделе, используются, чтобы контролировать и управлять Глобальными Идентификаторами транзакции (GTIDs), представленный в MySQL 5.6.5.
Многие из этих опций и переменных были переименованы в MySQL 5.6.9. См. их описания в этом разделе для получения дополнительной информации.
Для дополнительной информации см. Раздел 16.1.3, "Репликация с Глобальными Идентификаторами транзакции".
Опции запуска используются в репликации GTID. Последующие опции запуска сервера используются с GTID-на-основе репликацией:
--disable-gtid-unsafe-statements
Представленный | 5.6.5 | ||
Удаленный | 5.6.9 | ||
Формат командной строки | --disable-gtid-unsafe-statements[=value] |
||
Формат файла опции | disable-gtid-unsafe-statements |
||
Системное Имя переменной | disable_gtid_unsafe_statements
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | false |
Устаревший: Замененный --enforce-gtid-consistency
в MySQL 5.6.9. (Ошибка #14775984)
Представленный | 5.6.9 | ||
Формат командной строки | --enforce-gtid-consistency[=value] |
||
Формат файла опции | enforce-gtid-consistency |
||
Системное Имя переменной | enforce_gtid_consistency
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | false |
Когда установлено, эта опция позволяет выполнение только тех операторов, которые могут быть зарегистрированы транзакционно безопасный способ. Это означает, что следующие операции не могут использоваться, когда эта опция включается:
CREATE TABLE ... SELECT
операторы
CREATE
TEMPORARY TABLE
операторы в транзакциях
Транзакции или операторы, которые обновляют и транзакционные и нетранзакционные таблицы.
До MySQL 5.6.9 назвали эту опцию --disable-gtid-unsafe-statements
. (Ошибка #14775984)
До MySQL 5.6.7, используя эту опцию вызванный нетранзакционный DML на временных таблицах, чтобы
перестать работать, хотя изменения к временным таблицам не регистрируются при использовании
основанного на строке двоичного журналирования. В MySQL 5.6.7 и позже, нетранзакционные операторы
DML позволяются на временных таблицах с --disable-gtid-unsafe-statements
(--enforce-gtid-consistency
начинание с MySQL 5.6.9), пока все таблицы, на которые влияют, являются временными таблицами (Ошибка
#14272672).
До MySQL 5.6.7 mysql_upgrade не мог использоваться с MySQL Server,
работающим с этой включенной опцией, если mysql_upgrade не работал с --write-binlog
явно отключенный. (Ошибка #13833710, Ошибка
#14221043) В MySQL 5.6.7 и позже, это возможно, но не рекомендуемое выполнить mysql_upgrade на сервере где --gtid-mode=ON
, так как системные таблицы MySQL используют MyISAM
механизм
хранения, который является нетранзакционным.
В MySQL 5.6.8 и ранее, Вы не могли использовать операторы, влияющие на нетранзакционные таблицы
когда --enforce-gtid-consistency
использовался (опцию тогда вызвали --disable-gtid-unsafe-statements
). В MySQL 5.6.9 и позже, эта
опция позволяет единственные операторы, обновляющие нетранзакционные таблицы. Это предназначается в
основном для использования с программами, такими как mysql_install_db и mysql_upgrade. (Ошибка #14722659)
Представленный | 5.6.5 | ||
Формат командной строки | --gtid-mode=MODE |
||
Формат файла опции | gtid-mode |
||
Системное Имя переменной | gtid_mode
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | enumeration |
||
Значение по умолчанию | OFF |
||
Допустимые Значения | OFF |
||
UPGRADE_STEP_1 |
|||
UPGRADE_STEP_2 |
|||
ON |
Эта опция определяет, включаются ли GTIDs. Запуск сервера с --gtid-mode=ON
требует, чтобы сервер также был запущен с --log-bin
и --log-slave-updates
опции также. (Кроме того, следует также
использовать --enforce-gtid-consistency
.)
Установка этой опции к OFF
когда есть GTIDs в двоичном журнале или в
релейном журнале, или к ON
то, когда там остаются анонимными
транзакциями, которые будут выполняться, вызывает ошибку.
Эта опция не использует булевы значения; его значения фактически перечисляются.
Недопустимо попытаться использовать числовые значения, устанавливая эту опцию, поскольку они
могут привести к неожиданным результатам. Значения UPGRADE_STEP_1
и
UPGRADE_STEP_2
резервируются для будущего использования, но в
настоящий момент не поддерживаются в производстве; если Вы используете одно из этих двух
значений с --gtid-mode
, сервер отказывается запуститься.
До MySQL 5.6.7 mysql_upgrade не мог использоваться с MySQL Server,
работающим с этой включенной опцией, если mysql_upgrade не работал с --write-binlog
явно отключенный. (Ошибка #13833710, Ошибка
#14221043) В MySQL 5.6.7 и позже, это возможно, но не рекомендуемое выполнить mysql_upgrade на сервере где --gtid-mode=ON
, так как это может произвести изменения в системных
таблицах MySQL, которые используют MyISAM
механизм хранения, который является нетранзакционным.
До MySQL 5.6.10, устанавливая глобальное значение для sql_slave_skip_counter
переменная к 1 не имела никакого эффекта когда
--gtid-mode
был установлен в ON
. (Ошибка
#15833516), обходное решение в MySQL 5.6.9 и более ранних версиях должно сбросить использование
позиции ведомого устройства CHANGE
MASTER TO ... MASTER_LOG_FILE = ... MASTER_LOG_POS = ...
, включая MASTER_AUTO_POSITION = 0
опция с этим оператором если нужно.
Системные переменные используются на ведущих устройствах репликации. Следующие системные переменные используются с GTID-на-основе репликацией:
disable_gtid_unsafe_statements
Представленный | 5.6.5 | ||
Удаленный | 5.6.9 | ||
Формат командной строки | --disable-gtid-unsafe-statements[=value] |
||
Формат файла опции | disable_gtid_unsafe_statements |
||
Системное Имя переменной | disable_gtid_unsafe_statements
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | false |
Устаревший: Замененный enforce_gtid_consistency
в MySQL 5.6.9. (Ошибка #14775984)
Представленный | 5.6.5 | ||
Удаленный | 5.6.9 | ||
Системное Имя переменной | gtid_done
|
||
Переменный Контекст | Глобальная переменная, Сеанс | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | string |
Устаревший: замененный в MySQL 5.6.9 gtid_executed
. (Ошибка #14775984)
Представленный | 5.6.9 | ||
Формат командной строки | --enforce-gtid-consistency[=value] |
||
Формат файла опции | enforce_gtid_consistency |
||
Системное Имя переменной | enforce_gtid_consistency
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | false |
Когда эта переменная является истиной, выполнение допускается только те операторы, которые могут быть зарегистрированы транзакционно безопасный способ, что означает, что следующие операции не могут использоваться:
CREATE TABLE ... SELECT
операторы
CREATE
TEMPORARY TABLE
операторы в транзакциях
Транзакции или операторы, которые обновляют и транзакционные и нетранзакционные таблицы.
Эта переменная только для чтения. Чтобы установить это, используйте --enforce-gtid-consistency
опция на командной строке или в файле
опции, запуская MySQL Server.
До MySQL 5.6.9 назвали эту переменную disable_gtid_unsafe_statements
. (Ошибка #14775984)
Представленный | 5.6.9 | ||
Системное Имя переменной | gtid_executed
|
||
Переменный Контекст | Глобальная переменная, Сеанс | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | string |
Когда использующийся с глобальной областью видимости, эта переменная содержит представление набора всех транзакций, которые зарегистрированы двоичный журнал. Когда использующийся с контекстом сеанса, это содержит представление набора транзакций, которые пишутся кэшу в текущем сеансе.
Издание RESET MASTER
заставляет глобальное значение (но не значение сеанса) этой переменной быть сброшенным к пустой
строке.
До MySQL 5.6.9 эта переменная была известна как gtid_done
.
Представленный | 5.6.5 | ||
Удаленный | 5.6.9 | ||
Системное Имя переменной | gtid_lost
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | string |
Устаревший: Замененный gtid_purged
в MySQL 5.6.9. (Ошибка #14775984)
Представленный | 5.6.5 | ||
Системное Имя переменной | gtid_mode
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | enumeration |
||
Значение по умолчанию | OFF |
||
Допустимые Значения | OFF |
||
UPGRADE_STEP_1 |
|||
UPGRADE_STEP_2 |
|||
ON |
Шоу, включаются ли GTIDs. Только для чтения; использование набора --gtid-mode
.
Представленный | 5.6.5 | ||
Системное Имя переменной | gtid_next
|
||
Переменный Контекст | Сеанс | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | enumeration |
||
Значение по умолчанию | AUTOMATIC |
||
Допустимые Значения | AUTOMATIC |
||
ANONYMOUS |
|||
UUID:NUMBER |
Эта переменная используется, чтобы определить, ли и как следующий GTID получается. gtid_next
может принять любое из следующих значений:
AUTOMATIC
: Используйте следующий
автоматически сгенерированный глобальный ID транзакции.
ANONYMOUS
: Транзакции не имеют глобальных
идентификаторов, и идентифицируются файлом и позицией только.
Глобальный ID транзакции в UUID
:NUMBER
формат.
Вы должны иметь SUPER
полномочие установить эту переменную. Установка этой переменной
не имеет никакого эффекта если gtid_mode
OFF
.
В MySQL 5.6.11 только, невозможно выполнить ни один из операторов CHANGE MASTER TO
, START SLAVE
, STOP SLAVE
, REPAIR TABLE
, OPTIMIZE TABLE
, ANALYZE TABLE
, CHECK TABLE
, CREATE SERVER
, ALTER SERVER
, DROP SERVER
, CACHE INDEX
, LOAD INDEX INTO CACHE
, FLUSH
, или RESET
когда gtid_next
устанавливается в любое значение кроме AUTOMATIC
; в таких случаях оператор перестал работать с ошибкой.
Такие операторы не отвергаются в MySQL 5.6.12 и позже.
(Ошибка #16062608, Ошибка #16715809, Ошибка #69045)
Представленный | 5.6.5 | ||
Системное Имя переменной | gtid_owned
|
||
Переменный Контекст | Глобальная переменная, Сеанс | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | string |
Эта переменная только для чтения содержит список, содержание которого зависит от его контекста. Когда использующийся с контекстом сеанса, список содержит все GTIDs, которые принадлежат этому клиенту; когда использующийся с глобальной областью видимости, это содержит список всего GTIDs наряду с их владельцами.
Представленный | 5.6.9 | ||
Системное Имя переменной | gtid_purged
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | string |
Набор всех транзакций, которые были очищены от двоичного журнала.
Издание RESET MASTER
заставляет значение этой переменной быть сброшенным к пустой строке.
До MySQL 5.6.9 эта переменная была известна как gtid_lost
, и было только для чтения. В MySQL 5.6.9 и позже, возможно
обновить значение этой переменной, но только добавляя GTIDs к уже перечисленным, и только когда gtid_executed
сбрасывается — то есть, на новом сервере. (Ошибка #14797808)