В этом посте я изначально хотел рассказать об одном чудо-хостере предоставляющим VDS. Но потом я решил не делать никакой антирекламы и т.п. Поэтому просто опишу проблему, а также пути ее решения. Итак, есть VDS и есть Plesk. Знакомо, не так ли? MySQL из Plesk'а можно управлять с помощью PHPMyAdmin, имя пользователя MySQL по-умолчанию не root, а admin. Но как узнать пароль к MySQL? Хостер нам его не предоставил, Plesk поставился автоматом. Можно конечно поменять его через PHPMyAdmin ... но это ведь не наш метод. Нам нужно узнать )) Вначале несколько полезных ссылок одну из которых я процитирую:
Имя пользователя будет не root, а admin. Чтобы не вводить его каждый раз руками я рекомендую сохранить его в ~/.my.cnf (доступный на чтение только root)
После этого mysql и mysqladmin просить пароль перестанут.
UPDATE: На одном из серверов столкнулся с тем, что в /etc/psa/.psa.shadow пароль не в plain text, а в виде хеша. Рядом лежит файлик /etc/psa/README.psa.shadow в котором говорится следующее
- Пароль админа в MySQL сервере если стоит панель Plesk
- Как узнать пароль root для MySQL после установки панели Plesk / ISPmanager / DirectAdmin / Cpanel?
- Просмотр всех FTP акаунтов созданых в Plesk на Linux сервере через mysql
Теперь я процитирую пост по первой ссылке, дабы он не потерялся в дебрях всемирной паутины:
Если на сервере стоит панель управления Parallels Plesk, то зачастую владелец сервера понятия не имеет о пароле root в MySQL. Чтобы узнать его самостоятельно логинимся в SSH под root. Затем находим пароль в /etc/psa/.psa.shadow
# cat /etc/psa/.psa.shadow therootpassword
Имя пользователя будет не root, а admin. Чтобы не вводить его каждый раз руками я рекомендую сохранить его в ~/.my.cnf (доступный на чтение только root)
# touch ~/.my.cnf # chown root:root ~/.my.cnf # chmod 600 ~/.my.cnf # cat > ~/.my.cnf << EOF [client] user=admin password=therootpassword EOF
После этого mysql и mysqladmin просить пароль перестанут.
UPDATE: На одном из серверов столкнулся с тем, что в /etc/psa/.psa.shadow пароль не в plain text, а в виде хеша. Рядом лежит файлик /etc/psa/README.psa.shadow в котором говорится следующее
Starting from version 10.2, Panel encrypts the Administrator's password beforeВыполнив эту команду вы получите пароль для пользователя "root" (в старых версиях был "admin").
saving it to /etc/psa/.psa.shadow. For security reasons, only users with root
permissions are able to get the plain password. To obtain the password, such
users should run the following command:
/usr/local/psa/bin/admin --show-password
А теперь самое интересное. У нас как раз попался тот случай, когда пароль в /etc/psa/.psa.shadow хранился в зашифрованном виде. Запустив /usr/local/psa/bin/admin --show-password можно было посмотреть его в открытом виде. Однако, при попытке логина на MySQL сервер он не подходил. Причина банальна ))) При установке пароль не раскодировался, т.е. паролем на MySQL сервер была сама строка хеша. Т.е. содержимое /etc/psa/.psa.shadow и было самим паролем (!) , т.е. дав команду:
mysql -uadmin -p`cat /etc/psa/.psa.shadow`
Мы успешно залогинились на MySQL сервер. Бинго блин.
Комментариев нет :
Отправить комментарий