Spec-Zone .ru
спецификации, руководства, описания, API
|
FLUSH [NO_WRITE_TO_BINLOG | LOCAL]flush_option
[,flush_option
] ...
FLUSH
у оператора есть несколько различных форм, которые очищают или
перезагружают различные внутренние кэши, сбрасывают таблицы, или получают блокировки. Выполниться FLUSH
, Вы должны иметь RELOAD
полномочие. Определенные опции сброса могли бы потребовать
дополнительных полномочий, как описано позже.
По умолчанию, записи сервера FLUSH
операторы к двоичному журналу так, чтобы они тиражировались к ведомым
устройствам репликации. Чтобы подавить журналирование, определите дополнительное NO_WRITE_TO_BINLOG
ключевое слово или его псевдоним LOCAL
.
FLUSH
LOGS
, FLUSH TABLES WITH READ LOCK
(с или без табличного списка), и FLUSH TABLES
не пишутся двоичному журналу в любом случае, потому что они вызвали бы проблемы если
тиражировано в ведомое устройство.tbl_name
... FOR
EXPORT
Отправка a SIGHUP
сигнализируйте к причинам сервера несколько операций сброса,
чтобы произойти, которые подобны различным формам FLUSH
оператор. См. Раздел
5.1.11, "Ответ сервера на Сигналы".
FLUSH
оператор вызывает неявную фиксацию. См. Раздел
13.3.3, "Операторы Который Причина Неявная Фиксация".
RESET
оператор подобен FLUSH
.
См. Раздел 13.7.6.6,"RESET
Синтаксис", для информации об использовании RESET
оператор с репликацией.
flush_option
может быть любой из следующих элементов.
DES_KEY_FILE
Перезагружает ключи DES от файла, который был определен с --des-key-file
опция в сервере запускает время.
HOSTS
Освобождает кэш узла. Следует сбросить кэш узла, если некоторые из Ваших узлов изменяют IP-адрес или
если сообщение об ошибке Host '
происходит. (См. Раздел
C.5.2.6,"host_name
'
is blockedHost '
".), Когда больше чем host_name
'
is blockedmax_connect_errors
ошибки происходят последовательно для данного
узла, соединяясь с сервером MySQL, MySQL предполагает, что что-то является неправильным и блокирует
узел от дальнейших запросов соединения. Сбрасывание кэша узла включает дальнейшим попыткам
подключения от узла. Значение по умолчанию max_connect_errors
10. Чтобы избежать этого сообщения об ошибке,
запустите сервер с max_connect_errors
набор к большому значению.
[
log_type
]
LOGS
Без log_type
опция, FLUSH LOGS
завершения и вновь открывают все файлы журнала. Если
двоичное журналирование включается, порядковый номер двоичного файла журнала постепенно
увеличивается одним относительно предыдущего файла.
С a log_type
опция, только указанный тип журнала
сбрасывается. Они log_type
опции разрешаются:
BINARY
завершения и вновь открывают
двоичные файлы журнала.
ENGINE
завершения и вновь открывают любые
журналы flushable для установленных механизмов хранения. В настоящий момент это вызывает InnoDB
сбросить его журналы к диску.
ERROR
завершения и вновь открывают файл
журнала ошибок.
GENERAL
завершения и вновь открывают общий
файл журнала запросов.
RELAY
завершения и вновь открывают релейные
файлы журнала.
SLOW
завершения и вновь открывают медленный
файл журнала запросов.
PRIVILEGES
Перезагружает полномочия от таблиц предоставления в mysql
база данных.
Информация о кэшах сервера в памяти в результате GRANT
, CREATE
USER
, CREATE SERVER
,
и INSTALL PLUGIN
операторы. Эта память не выпускается соответствием REVOKE
, DROP USER
, DROP SERVER
, и UNINSTALL PLUGIN
операторы, таким образом, для сервера, который
выполняет много экземпляров операторов, которые вызывают кэширование, будет увеличение использования
памяти. Эта кэшируемая память может быть освобождена с FLUSH PRIVILEGES
.
QUERY CACHE
Дефрагментируйте кэш запроса, чтобы лучше использовать его память. FLUSH QUERY CACHE
не удаляет запросов из кэша, в отличие от этого FLUSH
TABLES
или RESET QUERY CACHE
.
STATUS
Эта опция добавляет, что значения переменных состояния сеанса текущего потока к глобальной
переменной оценивают и сбрасывают значения сеанса, чтобы обнулить. Некоторые глобальные переменные
могут быть сброшены, чтобы обнулить также. Это также сбрасывает счетчики для ключевых кэшей
(значение по умолчанию и названный), чтобы обнулить и наборы Max_used_connections
к текущему числу открытых соединений. Это -
что-то, что следует использовать только, отлаживая запрос. См. Раздел
1.7, "Как Сообщить об Ошибках или проблемах".
TABLES
FLUSH
TABLES
таблицы сбросов, и, в зависимости от используемой разновидности, получают
блокировки. Разрешенный синтаксис обсуждается позже в этом разделе.
USER_RESOURCES
Сбросы все начасовой пользовательские ресурсы, чтобы обнулить. Это включает клиентам, которые
достигли их почасового соединения, запроса, или обновляют пределы, чтобы сразу возобновить действие.
FLUSH
USER_RESOURCES
не применяется к пределу на максимальных одновременных соединениях.
См. Раздел 6.3.4, "Устанавливая Пределы
Ресурса Учетной записи".
mysqladmin утилита обеспечивает интерфейс командной строки для
некоторых операций сброса, используя команды такой как flush-hosts
, flush-logs
, flush-privileges
, flush-status
,
и flush-tables
. См. Раздел
4.5.2, "mysqladmin — Клиент для Администрирования MySQL
Server".
Не возможно выйти FLUSH
операторы в пределах сохраненных функций или триггеров. Однако, можно
использовать FLUSH
в хранимых процедурах, пока их не вызывают от сохраненных функций
или триггеров. См. Раздел D.1, "Ограничения на
Сохраненные Программы".
В MySQL 5.7.1, gtid_next
должен быть установлен в AUTOMATIC
прежде,
чем сделать это заявление. Это ограничение не применяется в MySQL 5.7.2 или позже. (Ошибка #16062608, Ошибка
#16715809, Ошибка #69045)
FLUSH TABLES
СинтаксисFLUSH
TABLES
имеет несколько форм, описанных после. Если любая разновидность TABLES
опция используется в a FLUSH
оператор, это должна быть единственная используемая опция. FLUSH TABLE
синоним для FLUSH
TABLES
.
FLUSH TABLES
Завершения все открытые таблицы, вынуждает все таблицы в использовании быть закрытыми, и сбрасывает
кэш запроса. FLUSH TABLES
также удаляет весь запрос, следует из кэша запроса,
как RESET QUERY CACHE
оператор.
В MySQL 5.7, FLUSH TABLES
не разрешается, когда есть активное LOCK TABLES ... READ
. Чтобы сбросить и заблокировать таблицы,
использовать FLUSH TABLES
вместо этого. tbl_name
... WITH
READ LOCK
FLUSH TABLES
tbl_name
[, tbl_name
]
...
Со списком один или более разделенные от запятой имена таблиц, этот оператор походит FLUSH TABLES
без имен за исключением того, что сервер сбрасывает
только именованные таблицы. Никакая ошибка не происходит, если именованная таблица не существует.
FLUSH TABLES WITH READ LOCK
Завершения все открытые таблицы и блокировки все таблицы для всех баз данных с глобальной
блокировкой чтения. Это - очень удобный способ получить резервные копии, если у Вас есть файловая
система, такая как Veritas или ZFS, который может взять снимки вовремя. Использовать UNLOCK TABLES
выпускать блокировку.
FLUSH
TABLES WITH READ LOCK
получает глобальную блокировку чтения и не блокировки таблицы,
таким образом, это не подвергается тому же самому поведению как LOCK TABLES
и UNLOCK TABLES
относительно табличной блокировки и неявных
фиксаций:
UNLOCK TABLES
неявно фиксации любая активная транзакция,
только если любые таблицы в настоящий момент были заблокированы с LOCK TABLES
. Фиксация не происходит для UNLOCK TABLES
следующий FLUSH TABLES WITH READ LOCK
потому что последний оператор
не получает блокировки таблицы.
Начало транзакции вызывает блокировки таблицы, полученные с LOCK
TABLES
быть выпущенным, как если бы Вы выполнились UNLOCK TABLES
. Начало транзакции не выпускает глобальную
блокировку чтения, полученную с FLUSH
TABLES WITH READ LOCK
.
FLUSH
TABLES WITH READ LOCK
не препятствует тому, чтобы сервер вставил строки в таблицы журнала
(см. Раздел 5.2.1,
"Выбирая Общий Запрос и Замедлите Выходные Места назначения Журнала запросов").
FLUSH TABLES
tbl_name
[, tbl_name
]
... WITH READ LOCK
Этот оператор сбрасывает и получает блокировки чтения для именованных таблиц. Оператор сначала
получает монопольные блокировки метаданных для таблиц, таким образом, он ожидает транзакций, у
которых есть те таблицы, открытые, чтобы завершиться. Затем оператор сбрасывает таблицы от
табличного кэша, вновь открывает таблицы, получает блокировки таблицы (как LOCK TABLES ... READ
), и упадки метаданные блокируют от
монопольного до совместно используемого. После того, как оператор получает блокировки и понижает
блокировки метаданных, другие сеансы могут считать, но не изменить таблицы.
Поскольку этот оператор получает блокировки таблицы, Вы должны иметь LOCK TABLES
полномочие для каждой таблицы, в дополнение к RELOAD
полномочие, которое обязано использовать любого FLUSH
оператор.
Этот оператор применяется только к существующим базовым таблицам. Если имя ссылается на базовую
таблицу, та таблица используется. Если это обращается к a TEMPORARY
таблица, это игнорируется. Если имя применяется к представлению, ER_WRONG_OBJECT
ошибка происходит. Иначе, ER_NO_SUCH_TABLE
ошибка происходит.
Использовать UNLOCK
TABLES
выпускать блокировки, LOCK TABLES
выпускать блокировки и получать другие блокировки, или
START TRANSACTION
выпустить блокировки и начать новую транзакцию.
Эта разновидность FLUSH
позволяет таблицам быть сброшенными и
привязывал единственную работу. Это обеспечивает обходное решение для ограничения в MySQL 5.7 это FLUSH TABLES
не разрешается, когда есть активное LOCK TABLES ... READ
.
Этот оператор не выполняет неявное UNLOCK TABLES
, таким образом, ошибка заканчивается, если Вы
используете оператор, в то время как есть любой активный LOCK TABLES
или используйте это во второй раз без первого выпуска
полученных блокировок.
Если сброшенная таблица была открыта с HANDLER
,
обработчик неявно сбрасывается и теряет свою позицию.
FLUSH TABLES
tbl_name
[, tbl_name
]
... FOR EXPORT
Это FLUSH TABLES
разновидность применяется к InnoDB
таблицы. Это гарантирует, что изменения к именованным таблицам были сброшены к диску так, чтобы
двоичные табличные копии могли быть сделаны, в то время как сервер работает.
Оператор работает как это:
Это получает совместно использованные блокировки метаданных для именованных таблиц. У блоков операторов пока другие сеансы есть активные транзакции, которые изменили те таблицы или содержат блокировки таблицы для них. Когда блокировки были получены, транзакции блоков операторов, которые пытаются обновить таблицы, разрешая операции только для чтения продолжаться.
Это проверяет, поддерживают ли все механизмы хранения для таблиц FOR EXPORT
. Если кто-либо не делает, ER_ILLEGAL_HA
ошибка происходит и сбои оператора.
Оператор уведомляет механизм хранения для каждой таблицы, чтобы сделать таблицу готовой к экспорту. Механизм хранения должен гарантировать, что любые изменения на ожидании пишутся диску.
Оператор помещает сеанс в режим таблиц блокировки так, чтобы блокировки
метаданных, полученные ранее, не были выпущены когда FOR EXPORT
оператор завершается.
Поскольку этот оператор получает блокировки таблицы, Вы должны иметь LOCK TABLES
полномочие для каждой таблицы, в дополнение к RELOAD
полномочие, которое обязано использовать любого FLUSH
оператор.
Этот оператор применяется только к существующим базовым таблицам. Если имя ссылается на базовую
таблицу, та таблица используется. Если это обращается к a TEMPORARY
таблица, это игнорируется. Если имя применяется к представлению, ER_WRONG_OBJECT
ошибка происходит. Иначе, ER_NO_SUCH_TABLE
ошибка происходит.
InnoDB
поддерживает FOR EXPORT
для таблиц,
у которых есть их собственный.ibd
файл файла (то есть,
таблицы, которые были составлены с innodb_file_per_table
включенная установка). InnoDB
гарантирует когда уведомлено FOR
EXPORT
оператор, что любые изменения были сброшены к диску. Это разрешает двоичной копии
табличного содержания быть сделанной в то время как FOR EXPORT
оператор
в действительности потому что .ibd
файл является непротиворечивой
транзакцией и может быть скопирован, в то время как сервер работает. FOR
EXPORT
не применяется к InnoDB
системные файлы табличной
области, или к InnoDB
таблицы, у которых есть любой FULLTEXT
индексирует.
Когда уведомлено FOR EXPORT
, InnoDB
записи
к дисковым определенным видам данных, которые обычно сохранены в памяти или в отдельных дисковых
буферах вне файлов табличной области. Для каждой таблицы, InnoDB
также
производит названный файл
в том же самом каталоге базы
данных как таблица. table_name
.cfg.cfg
файл содержит метаданные, должен был повторно
импортировать файлы табличной области позже, в тот же самый или различный сервер.
Когда FOR EXPORT
оператор завершается, InnoDB
сбросит все грязные страницы к табличным
файлам данных. Любые буферные
записи изменения
объединяются до сбрасывания. В этой точке таблицы блокируются и статические: таблицы находятся в
транзакционно непротиворечивом состоянии на диске, и можно скопировать .ibd
файлы табличной области наряду с соответствием .cfg
файлы, чтобы получить непротиворечивый снимок тех таблиц.
Для процедуры, чтобы повторно импортировать скопированные табличные данные в экземпляр MySQL, см. Раздел 5.4.1.3, "Копирование Табличных областей к Другому Серверу (Мобильные Табличные области)".
После того, как Вы делаетесь с таблицами, использовать UNLOCK TABLES
выпускать блокировки, LOCK TABLES
выпускать блокировки и получать другие блокировки, или
START TRANSACTION
выпустить блокировки и начать новую транзакцию.
В то время как любой из этих операторов в действительности в пределах сеанса, попытки использовать
FLUSH
TABLES ... FOR EXPORT
произведите ошибку:
FLUSH TABLES ... WITH READ LOCKFLUSH TABLES ... FOR EXPORTLOCK TABLES ... READLOCK TABLES ... WRITE
В то время как FLUSH TABLES ... FOR EXPORT
в действительности в пределах сеанса,
попытки использовать любой из этих операторов производят ошибку:
FLUSH TABLES WITH READ LOCKFLUSH TABLES ... WITH READ LOCKFLUSH TABLES ... FOR EXPORT