Table maintenance

Одной из важнейших задач администратора базы данных является “table maintenance”. На русский это можно перевести, как техническое обслуживание таблиц. Как правило данные действия необходимо выполнять в следующих случаях:

  • В результате “падения” сервера могли быть повреждены какие-то таблицы.
  • Ухудшилась производительность базы данных, время выполнения запросов по каким-то таблицам увеличилось.

В MySQL существует много возможностей и утилит для выполнения такого технического обслуживания, а именно:

  • MySQL WorkBench;
  • MySQL Enterprise Monitor;
  • Команды SQL (DML):

ANALYZE TABLE;
CHECK TABLE;
CHECKSUM TABLE;
REPAIR TABLE;
OPTIMIZE TABLE.

  • Утилиты:

mysqlcheck;
myisamchk.

В следующих разделах мы рассмотрим эти возможности подробнее.

Оглавление.

Ограничение использования ресурсов в MySQL

В MySQL существует возможность ограничить для конкретного аккаунта следующие ресурсы:

  • MAX_QUERIES_PER_HOUR – количество запросов, которое может выполнить данный пользователь в течение часа;
  • MAX_UPDATES_PER_HOUR – количество апдейтов, которое может быть выполнено в течение часа;
  • MAX_CONNECTIONS_PER_HOUR – сколько раз пользователь может коннектиться к серверу в течение часа;
  • MAX_USER_CONNECTIONS – количество одновременно разрешенных коннектов.

Continue reading

Отключение контроля привилегий в MySQL.

В некоторых случаях возникает необходимость отключить проверку привилегий пользователей. По английски это звучит, как “disabling client access control”. Например, это будет полезно, если Вы вдруг забыли пароль пользователя root в базе данных MySQL. Для этой цели существует опция –skip-grant-tables, с которой надо перезапустить MySQL сервер. После этого любой пользователь получает возможность подконнектиться к серверу откуда угодно и будет иметь неограниченный доступ ко всем базам данных. Излишне говорить, что использование данной опции несет потенциальную опасность. Поэтому для уменьшения потенциального риска рекомендуется использовать данную опцию  совместно с опцией –skip-networking. Continue reading