Връщане на израз за предоставяне на привилегии в 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 мога да видя това

ПОКАЗВАЙТЕ ГРАНТОВЕ;

грантове

Този първи ред изглежда е виновникът, ... мисля ...

Има ли начин да се върне това?

Благодаря :)


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
Инструментът за проследяване на грешки (mantis) не е моят код, така че е най-добре да не го променяте. Изглежда, че казвате, че инструкцията за привилегии GRANT ALL също добавя изискването за парола. Това ще е частта, която трябва да променя.   -  person sav    schedule 18.02.2014


Отговори (1)


Успях да накарам Mantis да работи отново до

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

Както се препоръчва тук

person sav    schedule 18.02.2014