Spec-Zone .ru
спецификации, руководства, описания, API
|
mysql_upgrade исследует все таблицы во всех базах данных для несовместимостей с текущей версией MySQL Server. mysql_upgrade также обновляет системные таблицы так, чтобы можно было использовать в своих интересах новые полномочия или возможности, которые, возможно, были добавлены.
mysql_upgrade должен быть выполнен каждый раз, когда Вы обновляете MySQL.
Если mysql_upgrade находит, что у таблицы есть возможная несовместимость, это выполняет табличную проверку и, если проблемы находятся, делает попытку табличного восстановления. Если таблица не может быть восстановлена, см. Раздел 2.11.4, "Восстанавливая или Восстанавливая Таблицы, или Индексирует" для ручных табличных стратегий восстановления.
На Windows Server 2008, Vista, и более новый, следует выполнить mysql_upgrade с полномочиями администратора. Можно сделать это, выполняя Командную строку как Администратор и выполняя команду. Отказ сделать так может привести к обновлению, бывшему не в состоянии выполниться правильно.
Следует всегда поддерживать свою текущую установку MySQL прежде, чем выполнить обновление. См. Раздел 7.2, "Методы Резервного копирования базы данных".
Некоторые несовместимости обновления могут потребовать специальной обработки прежде, чем Вы обновите свою установку MySQL и выполните mysql_upgrade. См. Раздел 2.11.1, "MySQL Upgrading", для инструкций по определению, применяются ли какие-либо такие несовместимости к Вашей установке и как обработать их.
Чтобы использовать mysql_upgrade, удостоверьтесь, что сервер работает, и затем вызовите это как это:
shell> mysql_upgrade [options
]
После выполнения mysql_upgrade, остановите сервер и перезапустите это так, чтобы любые изменения, произведенные в системных таблицах, вступили в силу.
mysql_upgrade выполняет следующие команды, чтобы проверить и восстановить таблицы и обновить системные таблицы:
mysqlcheck --all-databases --check-upgrade --auto-repairmysql < fix_priv_tables
mysqlcheck --all-databases --check-upgrade --fix-db-names --fix-table-names
Примечания о предыдущих командах:
Поскольку mysql_upgrade вызывает mysqlcheck с --all-databases
опция, это обрабатывает все таблицы во всех базах данных,
которые могли бы занять много времени, чтобы завершиться. Каждая таблица блокируется и поэтому
недоступная к другим сеансам, в то время как она обрабатывается. Проверьте и восстановите операции,
может быть отнимающим много времени, особенно для больших таблиц.
Для получения дополнительной информации о том, что проверяет --check-upgrade
опция влечет за собой, см. описание FOR
UPGRADE
опция CHECK
TABLE
оператор (см. Раздел 13.7.2.2,"CHECK TABLE
Синтаксис").
fix_priv_tables
представляет сценарий,
сгенерированный внутренне mysql_upgrade, который содержит SQL-операторы, чтобы
обновить таблицы в mysql
база данных.
Все проверенные и восстановленные таблицы отмечаются с текущим номером версии MySQL. Это гарантирует, что в следующий раз Вы выполняете mysql_upgrade с той же самой версией сервера, это может сказать, есть ли какая-либо потребность проверить или восстановить таблицу снова.
mysql_upgrade также сохраняет номер версии MySQL в названном
файле mysql_upgrade_info
в каталоге данных. Это используется, чтобы быстро
проверить, были ли все таблицы проверены на этот выпуск так, чтобы проверка таблицы могла быть пропущена. Чтобы
проигнорировать этот файл и выполнить проверку независимо, используйте --force
опция.
Если Вы устанавливаете MySQL от пакетов ОБ/МИН на Linux, следует установить клиентские ОБОРОТЫ В МИНУТУ и сервер. mysql_upgrade включается в ОБ/МИН сервера, но требует клиентского ОБ/МИН, потому что последний включает mysqlcheck. (См. Раздел 2.5.1, "Устанавливая MySQL на Linux Используя Пакеты ОБ/МИН".)
mysql_upgrade не обновляет содержание таблиц справки. Для инструкций обновления см. Раздел 5.1.10, "Серверная Справка".
mysql_upgrade поддерживает следующие опции, которые могут быть
определены на командной строке или в [mysql_upgrade]
и [client]
группы файла опции. Другие опции передают к mysqlcheck. Например, могло бы быть необходимо определить --password[=
опция. mysql_upgrade также поддерживает опции для того, чтобы
обработать файлы опции, описанные в Разделе
4.2.3.4, "Параметры командной строки, которые Влияют на Обработку Файла опции".password
]
Таблица 4.3. mysql_upgrade
Опции
Формат | Файл опции | Описание | Представленный | Удаленный |
---|---|---|---|---|
- basedir | basedir | Не используемый; существует только для совместимости с некоторыми очень старыми приложениями | 5.7.2 | |
- character-sets-dir=path | dir наборов символов | Каталог, где наборы символов. | ||
- сжатие | сжатие | Используйте сжатие в протоколе сервера/клиента. | ||
- datadir=path | datadir | Не используемый; существует только для совместимости с некоторыми очень старыми приложениями | 5.7.2 | |
- отладка [=#] | отладка | Если это - неотладочная версия, зафиксируйте ошибку и выход. | ||
- проверка отладки | проверка отладки | - память Проверки проверки отладки и открытое использование файла в выходе. | ||
- default-auth=plugin | default-auth=plugin | Плагин аутентификации, чтобы использовать | ||
- default-character-set=name | набор символов значения по умолчанию | Установите набор символов значения по умолчанию. | ||
- сила | сила | Выполнение силы, даже если mysql_upgrade был уже выполнен для текущей версии MySQL. | ||
- справка | справка | Выведите на экран сообщение справки и выход | ||
- host=name | узел | Соединитесь с узлом. | ||
- пароль [=name] | пароль | Пароль, чтобы использовать, соединяясь с сервером. Если паролю не дают, он требуется на tty. | ||
- plugin-dir=path | plugin-dir=path | Каталог, где плагины располагаются | ||
--port=# | порт | Номер порта, чтобы использовать для соединения или 0 для значения по умолчанию к, в порядке предпочтения, my.cnf, $MYSQL_TCP_PORT,/etc/services, встроенное значение по умолчанию (3306). | ||
- protocol=name | протокол | Протокол соединения (TCP=default, сокет, канал, память) | ||
- socket=name | сокет | Файл сокета, чтобы использовать для соединения. | ||
- tmpdir=path | tmpdir | Каталог для временных файлов | ||
- user=name | пользователь | Пользователь для входа в систему, если не текущий пользователь. | ||
- многословный | многословный | Покажите больше информации о процессе | ||
- проверка версии | проверка версии | Покажите больше информации о процессе | 5.7.2 | |
- записать-binlog | записать-binlog | Включает двоичному журналированию всех команд включая mysqlcheck. |
Выведите на экран короткое сообщение справки и выход.
Путь к каталогу установки MySQL. Эта опция была удалена в MySQL 5.7.2.
Путь к каталогу данных. Эта опция была удалена в MySQL 5.7.2.
Напечатайте некоторую отладочную информацию, когда программа выходит.
--debug-info
, -T
Напечатайте отладочную информацию и память и статистику использования ЦП, когда программа выходит.
Клиентский плагин аутентификации, чтобы использовать. См. Раздел 6.3.7, "Сменная Аутентификация".
Проигнорируйте mysql_upgrade_info
файл и выполнение силы mysqlcheck, даже если mysql_upgrade был уже выполнен для текущей версии
MySQL.
Каталог, в котором можно искать плагины. Может быть необходимо определить эту опцию если --default-auth
опция используется, чтобы определить плагин аутентификации, но mysql_upgrade не находит это. См. Раздел 6.3.7, "Сменная Аутентификация".
--tmpdir=
, path
-t
path
Путь каталога, чтобы использовать для того, чтобы создать временные файлы.
Обновите только системные таблицы, не обновляйте данные.
--user=
, user_name
-u
user_name
Имя пользователя MySQL, чтобы использовать, соединяясь с сервером. Имя пользователя значения по
умолчанию root
.
Многословный режим. Напечатайте больше информации о том, что делает программа.
--version-check
, -k
Проверьте версию сервера, с которым mysql_upgrade соединяется, чтобы проверить, что это
- то же самое как версия, для которой был создан mysql_upgrade. В противном случае выходы mysql_upgrade.
Эта опция включается по умолчанию; чтобы отключить проверку, использовать --skip-version-check
.
Эта опция была добавлена в MySQL 5.7.2.
Двоичное журналирование mysql_upgrade отключается по умолчанию, и следует
вызвать программу явно с --write-binlog
если Вы хотите, чтобы его
действия были записаны двоичному журналу.
Выполнение mysql_upgrade не рекомендуется с MySQL Server,
который работает с глобальными включенными идентификаторами транзакции (Ошибка #13833710). Это - то,
потому что включение GTIDs означает, что любые обновления, которые mysql_upgrade, возможно, должен был бы выполнить
на системных таблицах, используя нетранзакционный механизм хранения такой как MyISAM
перестать работать. См. Раздел
16.1.3.4, "Ограничения на Репликацию с GTIDs", для получения дополнительной
информации.