Создание файла трассировки
Если mysqld зависает, создание файла трассировки — хороший способ найти проблему.
Бинарник mysqld , скомпилированный с поддержкой отладки, может создавать файлы трассировки, используя пакет DBUG, созданный Фредом Фишем. Чтобы узнать, поддерживает ли отладку ваш бинарник mysqld, запустите mysqld -V в командной строке. Если номер версии заканчивается на -debug, значит, ваш бинарник mysqld был скомпилирован с поддержкой отладки.
См. Компиляция MariaDB для отладки для получения инструкций по созданию собственного бинарника mysqld с включенной отладкой.
Для создания журнала трассировки запустите mysqld следующим образом:
mysqld --debug
Без опции --debug имя файла трассировки будет /tmp/mysqld.trace в MySQL и более ранних версиях MariaDB до 10.5 и /tmp/mariadbd.trace начиная с MariaDB 10.5.
В Windows, дебаг mysqld называется mysqld-debug и вам также следует использовать опцию --standalone. Следовательно, команда в Windows будет выглядеть так:
mysqld-debug --debug --standalone
После запуска сервера используйте стандартный mysql командно-строчный клиент (или другой клиент) для подключения и работы с сервером.
После завершения отладки остановите сервер с помощью:
mysqladmin shutdown
Опции DBUG
Файлы трассировки могут достигать значительного размера. Вы можете уменьшить их размер, указав серверу регистрировать только определенные элементы.
Флаг --debug может принимать дополнительные параметры в виде строки параметров, разделенных двоеточием (:). Отдельные параметры могут иметь подпараметры, разделенные запятыми.
Например:
mysqld --debug=d,info,error,query:o,/tmp/mariadbd.trace
Параметр 'd' ограничивает вывод макросами DBUG_<N>. В приведенном выше примере файл трассировки /tmp/mariadbd.trace будет содержать вывод макросов DBUG info, error и query. Параметр 'd' сам по себе (без подпараметров) выберет все макросы DBUG_<N>.
Параметр 'o' перенаправляет вывод в файл (/tmp/mariadbd.trace в приведенном выше примере) и перезаписывает файл, если он существует.
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/creating-a-trace-file/