Мануал: Как сменить root пароль у mysql на Денвере

ТАК ДЕЛАТЬ НЕЛЬЗЯ, ВЫЛЕЗЕТ КУЧА ГЛЮКОВ
мне пришлось после этого переустанавливать денвер нафик
применяйте это только в самом крайнем случае!

Скорее всего всем нужна будет вторая часть, но я на всякий случай напишу все свои действия.

1. У меня был чистый денвер, мне понадобилось поставить на нем не пустой пароль root'a. Я зашел в http://localhost/Tools/phpMyAdmin/ выбрал там в середине страницы ссылку "Привилегии", увидел таблицу с тремя строками. Напротив строчки localhost я нажал на "карандаш"-редактирование, написал новый пароль. То же самое сделал для 127.0.0.1. Затем зашел в Z:\home\localhost\www\Tools\phpmyadmin\config.inc.php и там изменил строчку
$cfg['Servers'][$i]['password'] = 'ВАШ ПАРОЛЬ'; // MySQL password (only needed)
Но это дало только страшную ошибку в phpmyadmin и на моих сайтах:

The mysqli error was: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file.

2. Я открыл консоль (cmd) и зашел в папку
cd Z:\usr\local\mysql5\bin\
внимание - если вы так не сделаете , получите ошибку mysql.exe: Character set 'cp1251' is not a compiled character set and is not specified in the '\usr\local\mysql5\share\charsets\Index.xml' file (т.е. mysql.exe надо обязательно запускать только после входа через cd в папку)
Далее запускаю
mysql -uroot -pпароль_который_я_вводил_в_phpmyadmin
(если вы в пхпмайадмин пароль не меняли, оставьте пустым , т.е. просто -p)
Далее надо выполнить следущие команды:

SET old_passwords = 0;
UPDATE mysql.user SET Password = PASSWORD('ВАШ_НОВЫЙ_ПАРОЛЬ') WHERE User = 'root' limit 1;
SELECT LENGTH(Password) FROM mysql.user WHERE User = 'root';
FLUSH PRIVILEGES;

На всякий случай перезагружаем денвер - все работает.

Удачи!

Комментарии

Саша 08.09.2015 - 00:39

статья не помогла Denwer снесла, в нем mysql - убитей некуда - а жаль ( с пустым паролем по дефолту играться смысла не вижу )
UPDATE user SET password = 'pa-ss-wo-rd-' WHERE user = 'root';
после смены трех рутов по хостам зайти в mysql как и в phpMyAdmin никак, как вывод - проще поставить нормальный linux и тренироваться на vhost aх и нормальном mysql

V 27.04.2016 - 20:07

понекрофилю чуток...

Вместо денвера использую Vertrigo, пока никаких ошибок такого плана не вылазило...

Михаил 10.07.2016 - 21:58

Спасибо, очень помогли! Статья прям что надо. Единственное по мне так проще в проводнике дойти до желанной папки и с шифтом пкм открыть окно команд.

Добавить комментарий