Отмена инструкции предоставления привилегий в MySQL

Итак, я взламываю какое-то программное обеспечение и решаю запустить команду MySQL

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';

Затем я замечаю, что мой трекер ошибок использует тот же локальный сервер MySQL на моем компьютере разработки.

Ну черт возьми ..

Теперь, когда я пытаюсь использовать свой трекер ошибок (Mantis), я получаю сообщение об ошибке.

ОШИБКА ПРИЛОЖЕНИЯ # 400 Ошибка подключения к базе данных. От базы данных получена ошибка # 1045: Доступ запрещен для пользователя root @ localhost (с паролем NO). Пожалуйста, используйте кнопку «Назад» в вашем браузере, чтобы вернуться на предыдущую страницу. Там вы можете исправить все проблемы, обнаруженные в этой ошибке, или выбрать другое действие. Вы также можете щелкнуть опцию в строке меню, чтобы перейти непосредственно к новому разделу.

Произошли предыдущие нефатальные ошибки. Содержание страницы следует.

СИСТЕМНОЕ ПРЕДУПРЕЖДЕНИЕ: 'mysql_connect () [function.mysql-connect]: Доступ запрещен для пользователя' root '@' localhost '(с использованием пароля: NO)' »в 'C: \ xampp \ htdocs \ mantis \ library \ adodb \ drivers \ adodb-mysql.inc.php 'строка 365

Я проверил внутри файла php, и в этой строке установлено соединение MySQL.

function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
    {
        if (!empty($this->port)) $argHostname .= ":".$this->port;

        if (ADODB_PHPVER >= 0x4300)
            $this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword,
                                                $this->forceNewConnect,$this->clientFlags);
        else if (ADODB_PHPVER >= 0x4200)
            $this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword,
                                                $this->forceNewConnect);
        else
            $this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword);

        if ($this->_connectionID === false) return false;
        if ($argDatabasename) return $this->SelectDB($argDatabasename);
        return true;    
    }

Используя MySQL Workbench, я вижу, что

ВЫСТАВКА ГРАНТОВ;

grants

Кажется, виноват первый ряд ... Думаю ...

Есть ли способ отменить это?

Спасибо :)


person sav    schedule 18.02.2014    source источник
comment
Также кажется странным, что я получаю сообщение об ошибке отказано в доступе после предоставления ВСЕХ привилегий.   -  person sav    schedule 18.02.2014
comment
в вашем сообщении об ошибке четко указано using password: NO. Другими словами, ваш код не отправляет его в mysql, а ваш grant четко устанавливает пароль для учетной записи, поэтому вам будет отказано в доступе.   -  person Marc B    schedule 18.02.2014
comment
Трекер ошибок (богомол) - это не мой код, поэтому лучше его не менять. Похоже, вы говорите, что инструкция GRANT ALL о привилегиях также добавляет требование пароля. Это то, что мне нужно изменить.   -  person sav    schedule 18.02.2014


Ответы (1)


Мне удалось снова заставить богомола работать

SET PASSWORD FOR root@localhost=PASSWORD('');

Как рекомендовано здесь

person sav    schedule 18.02.2014