1

Я купил программу, которая работает на моем компьютере CentOS. Это написано на PHP. Он использует базу данных MYSQL.

Одной из функций программы является регистрация новых пользователей. Он использует запрос SQL для добавления пользователей. Я хочу написать программу на python, которая также может добавлять пользователей в эту базу данных, но я не знаю, какие свойства и таблицы она добавляет (это довольно большая база данных).

Можно ли как-то отслеживать, какие sql запросы эта программа отправляет на MYSQL?

2 ответа2

3

Есть два способа сделать это: более простой (и, возможно, недостаточно хороший) и более сложный способ, который даст вам то, что вы ищете на 100%.

  1. Проще просто искать запросы как раз вовремя, так как они выполняются командой SHOW FULL PROCESSLIST . Это покажет вам запросы, но если действие (запрос SQL, который вы ищете) выполняется редко, вам придется долго ждать и часто вводить команду, чтобы получить желаемый результат. Есть и лучший способ.

  2. Запустите MySQL с включенным ведением журнала, и затем вы сможете увидеть все запросы SQL после перезапуска сервера MySQL. Проблема в том, что файл журнала может быть очень большим, и неопытному может потребоваться много времени, чтобы найти то, что вы ищете, но этот подход, как правило, лучше. Вариант прост:

mysqld --log=name_of_log_file.log

Это так просто.

Только одно предупреждение: когда вы найдете то, что искали, перезапустите MySQL, но на этот раз с отключенным ведением журнала, поскольку это ускорит работу базы данных и не займет дисковое пространство на вашем сервере.

0

Чтобы увидеть, какие MySQL запросы выполняются на любой платформе, имеющей mysql.

MySQL запрос, как показано ниже,

  • SHOW FULL PROCESSLIST для подробной информации.
  • SHOW PROCESSLIST для обрабатываемых в данный момент запросов.

Откройте # mysql в терминале.

mysql> SHOW FULL PROCESSLIST;

mysql> SHOW PROCESSLIST;

для дальнейшей документации посмотрите show-processlist.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .