Нашел хороший вариант, но он для Joomla 1.5, у меня Joomla 1.7
для тех, кому интересно, привожу текст полностью:
Может быть несколько причин по которым нам нужно востановить пароль от админки Joomla, это и плохая память и случайно удаленный файл с паролями. Можно конечно востановить пароль на e-mail, но если по какой то причине это невозможно, то на помощь нам придет этот метод.
Есть единственное место, где Joomla хранит все пароли пользователей — база данных, таблица jos_users или, если вы указали при инсталяции другой префикс таблиц, то ваш_префикс_users. Проблема в том, что даже имея доступ к базе данных через phpMyAdmin мы не узнаем пароль, потому что там он содержится в зашифрованном алгоритмом md5 виде и расшифровать его нельзя. Правда, в интернете есть базы, где можно поискать по своему md5 уже готовый пароль, но можно сделать намного проще.
Запускаем phpMyAdmin, выбираем слева нашу базу данных и на закладке SQL в поле «Выполнить SQL-запрос(ы) к базе данных» вводим наш запрос.
Первый вариант позволяет востановить пароль администратора по умолчанию. При установке Joomla супер-администратор имеет id номер 62 и ему мы присвоим логин admin и пароль admin
UPDATE `jos_users`
SET `name` = 'Super Administrator', `username` = 'admin', `email` = 'admin@site.ru', `password` = md5('admin'),
`usertype` = 'Super Administrator', `block` = '0', `sendEmail` = '1', `gid` = '25',
`registerDate` = '2011-01-01 00:00:00', `lastvisitDate` = '2011-01-01 00:00:00', `activation` = '', `params` = ''
WHERE `id` = '62';
Второй вариант — создать нового супер-администратора с логином superadmin и паролем superadmin
INSERT INTO `jos_users` (`id`, `name`, `username`, `password`, `email`, `usertype`, `gid`, `params`)
VALUES (LAST_INSERT_ID(), 'superadmin', 'superadmin', md5('superadmin'), 'superadmin@site.ru', 'Super Administrator', 25, '');
INSERT INTO `jos_core_acl_aro` (`id`, `section_value`, `value`, `order_value`, `name`, `hidden`)
VALUES (LAST_INSERT_ID(), 'users', LAST_INSERT_ID(), '0', 'superadmin', '0' );
INSERT INTO `jos_core_acl_groups_aro_map` (`group_id`, `section_value`, `aro_id`)
VALUES ( 25, '', LAST_INSERT_ID() );
Вы можете сразу вписать нужные вам логин и пароль или же поменять их позже через админку.
Update: Тем у кого не получилось могу посоветовать еще один метод
Смените почтовый ящик через MySQL и запросите пароль пароль на этот ящик с помощью url:
http://www.ваш_сайт.ru/component/user/reset если включен SEF
или для Joomla 1.5
http://www.ваш_сайт.ru/index.php?option=com_user&view=reset если SEF отключен.
Для Joomla 1.0 возможно подойдет url http://www.ваш_сайт.ru/index.php?option=com_registration&task=lostPassword не могу проверить за неимением оной.
Если же на сайте установлен сторонний компонент SEF и входа для пользователей с front-end не предусмотрено, то будет сложнее определить адрес для сброса пароля.
Вариант 2 очень понравился, но J1.5 и J1.7 есть расхождения в таблицах.
Например нет некоторых таблиц (`jos_core_acl_aro`) - вопрос, что вставлять во вторую часть INSERT INTO?
Третья часть скорее всего у меня, это - nebjw_user_usergroup_map, но что тогда писать вместо `aro_id`?
Надо ли вписывать id супер админа в строчки LAST_INSERT_ID()?
Мои таблицы:
Структура nebjw_usergroups
Структура nebjw_users
Структура nebjw_user_profiles
Структура nebjw_user_usergroup_map