Возможно, меры предосторожности. Вы можете попробовать добавить новую учетную запись администратора:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;
Хотя, как отмечали Паскаль и другие, не очень хорошая идея, чтобы пользователь с таким видом доступа был открыт для любого IP. Если вам нужен администратор, используйте root и оставьте его на localhost. Для любого другого действия укажите именно те привилегии, которые вам нужны, и ограничьте доступ пользователя, как предлагает Паскаль ниже.
Редактировать:
Из FAQ по MySQL:
Если вы не можете понять, почему вы получаете отказ в доступе, удалите из пользовательской таблицы все записи, в которых значения хоста содержат подстановочные знаки (записи, содержащие символы «%» или «_»). Очень распространенная ошибка - вставить новую запись с Host = '%' и User = 'some_user', полагая, что это позволяет указать localhost для подключения с той же машины. Причина, по которой это не работает, состоит в том, что привилегии по умолчанию включают запись с Host = 'localhost' и User = ''. Поскольку эта запись имеет значение Host «localhost», которое является более конкретным, чем «%», она используется в предпочтении новой записи при подключении с localhost! Правильная процедура - вставить вторую запись с Host = 'localhost' и User = 'some_user', или удалить запись с помощью Host = 'localhost' и User = ''. После удаления записи не забудьте выполнить инструкцию FLUSH PRIVILEGES для перезагрузки таблиц предоставления. См. Также раздел 5.4.4, «Контроль доступа, этап 1: проверка соединения».