Команда разработчиков MySQL представляет новую версию MySQL Shell со следующими значительными улучшениями:
- Миграция на Python 3
- Встроенные отчеты
- Возможность использовать внешний редактор
- Возможность выполнения системных команд внутри оболочки
- Улучшения API администратора:
- Новые опции для регистрации всего SQL, используемого в различных операциях
- Поддержка IPv6 в кластерах InnoDB
- Новая функция для сброса учетных записей восстановления InnoDB Cluster
- Общее обслуживание и исправление ошибок
Миграция на Python 3
Имейте в виду, что любой код, написанный для Shell 8.0.17 и ниже, который использовал Python 2.7, может быть не полностью совместим с Shell 8.0.18. В случае, если это затронет вас, пожалуйста, обратитесь к Python 3.0 Что нового для подробностей о самых важных изменениях.
Минимальная поддерживаемая версия — Python 3.4.3. На платформах, где системная поддержка Python 3 недоступна, пакеты Shell включают Python 3.7.4.
Встроенные отчеты по темам
С первых дней MySQL SHOW PROCESSLIST был первым местом, где искали подсказки о неправильной работе клиентских сессий и неожиданных проблемах производительности. Это просто и делает работу во многих случаях, но иногда нужно копать глубже. performance_schema содержит невероятное количество данных о том, что и как MySQL выполняет клиентские запросы (сейчас и в прошлом), но быстрое извлечение из него полезной информации может быть немного громоздким даже для опытных пользователей.
Чтобы преодолеть разрыв между SHOW PROCESSLIST и performance_schema, оболочка теперь включает 2 новых отчета для своей встроенной команды \show: \show threads и \show thread.
\ show threads похож на SHOW PROCESSLIST, в котором он печатает список клиентских сеансов и атрибутов для каждого из них, но позволяет включать много другой информации, такой как:
- Атрибуты сеансового соединения (включая имя программы, клиентскую библиотеку, PID, ОС и т. д.)
- объем памяти, выделенный для сеанса
- контекст о выполняемой транзакции
- удерживаемые метаданные и блокировки строк
- количество времени, потраченное на ожидание ввода/вывода
- и т.п.
\show thread позволяет более детально проверять отдельные сеансы, включая информацию, которую вы также можете просматривать с помощью \show threads, но не ограничиваясь шириной экрана. Вы все еще можете отфильтровать вывод, чтобы показать, что именно вы хотите, но вы можете показать все сразу с помощью –all.
Для получения дополнительной информации о построенных отчетах обратитесь к руководству пользователя MySQL Shell или встроенной справке, выполнив любое из следующего в приглашении MySQL Shell:
- \? thread
- \? threads
Внешний редактор
Введение командной оболочки \edit (\ e) позволяет использовать внешний редактор для редактирования текущего оператора или последнего выполненного оператора.
Используемый внешний редактор можно настроить с помощью переменных среды EDITOR и VISUAL (в указанном порядке). Если пользовательский редактор не указан, оболочка по умолчанию будет использовать следующее:
- Блокнот на Windows
- Vi на других платформах
Внешний редактор также может быть вызван с помощью следующей комбинации клавиш: CTRL + X + E.
Для получения дополнительной информации обратитесь к руководству пользователя или встроенной справке, выполнив в командной строке MySQL следующую команду: \? \edit
Системные команды
Новая команда оболочки \system (\!) Позволяет пользователю выполнять системные команды прямо в оболочке MySQL.
Команда, переданная \System Shell Command, будет выполнена на уровне операционной системы, а оболочка MySQL отобразит любой вывод, сгенерированный командой.
Для получения дополнительной информации обратитесь к встроенной справке, выполнив в командной строке MySQL следующую команду: \? \?system.
Улучшения API администратора
Являясь одним из основных компонентов оболочки, Admin API продолжает расти как по качеству, так и по функциональности. В дополнение к работам по техническому обслуживанию (устранению ошибок) были добавлены улучшения в следующих областях:
- Сеть : расширяя AdminAPI для полного использования возможностей кластера для использования IPv6.
- Безопасность : предоставляя новую команду для обновления/сброса паролей внутренних учетных записей восстановления кластера.
- Устранение неисправностей/наблюдаемость : за счет расширения системы ведения журнала Shell для предоставления информации обо всех операторах SQL, выполняемых AdminAPI, а также путем включения информации о задержке репликации в команду состояния кластера.