Чтение из базы данных `mysql` в Google Cloud SQL - PullRequest
0 голосов
/ 29 марта 2019

У меня есть экземпляр Mysql 2-го поколения в Google Cloud SQL. Я включил медленное ведение журнала запросов с log_output, установленным на TABLE, и я хотел бы прочитать из этой таблицы.

Когда я подключаюсь к своему экземпляру удаленно как root, и я запускаю это:

SELECT * FROM mysql.`slow_log`;

У меня прекрасный набор строк, и я счастлив.

Когда я помещаю этот запрос в мой рабочий код App Engine (который также подключается от имени пользователя root) и внедряю, я получаю эту ошибку:

Access denied; you need (at least one of) the SUPER privilege(s) for this operation

и мне грустно.

Я понимаю, что Cloud SQL не поддерживает привилегии SUPER. Но почему я могу читать из этой таблицы удаленно, а не при развертывании? Могу ли я каким-то образом применить те привилегии, которые у меня есть при удаленном подключении, которые позволяют выполнить этот запрос для моего развернутого подключения? Любой другой способ экспорта данных в этой таблице?

РЕДАКТИРОВАТЬ: С тех пор я попробовал функцию экспорта этого экземпляра. Я могу получить дамп SQL для базы данных mysql, но, как ни странно, он не включает никаких данных для таблицы slow_log. Опять же, при удаленном подключении к этому же экземпляру отображаются данные, поэтому для меня это не имеет смысла. Я трижды проверил, что во всех случаях я подключен к одному и тому же IP-адресу.

...