Как перестроить / заново заполнить таблицу mysql.db? - PullRequest
0 голосов
/ 31 июля 2011

Итак, мне было поручено объединить две одинаковые, но совершенно разные базы данных, состоящие из нескольких баз данных (нижний регистр d).В ходе этого я также удаляю старые базы данных из обеих баз данных.Я уже настроил их на одинаковые привилегии пользователя, так что это не будет проблемой.Что я заметил, что, возможно, проблема, хотя это таблица mysql.db.Когда я писал и выполнял свои сценарии на нескольких лабораторных компьютерах, я замечал, что в столбцах mysql.db все еще отображаются старые базы данных, которые я удалил в столбце Db.Любой совет, прежде чем я сделаю это в производстве?

До сих пор я пытался перезапустить демон mysql, обрезать таблицу и перезапустить демон, а также восстановить таблицу ... ничего из этого не сработало.

Google не сильно помогает, поиск таблицы mysql.db сложнее, чем должен быть: /

Ответы [ 2 ]

1 голос
/ 31 июля 2011

Так что мне пришлось пойти и купить книгу.Краткий ответ: сначала MySQL читает из таблицы mysql.user.Так как mysql.user настроен так, как мы хотим, таблица mysql.db не очень полезна.

Длинный ответ, делайте это вручную для каждого пользователя для каждой базы данных, если вы не можете просто удалитьэто и положиться на свой mysql.user стол.

Убедитесь, что вы также сбросили привилегии!

0 голосов
/ 31 июля 2011

Вы должны отозвать привилегии, чтобы удалить записи из таблицы mysql.db (и из других таблиц привилегий).

...