Как изменить пароль root`а на phpmyadmin?
Рано или поздно любой владелец сайта сталкивается с непосредственной работой с базой данных. Для этих целей был разработан phpmyadmin, который в большинстве случаев уже установлен и настроен на вашем хостинге. Но часто от вебмастера требуется изменить пароль root`а на phpmyadmin. Вроде простая задача, но почему-то у большинства людей эта проблема вызывает немалые сложности. Лично у меня так и было.
У меня эта потребность возникла после переустановки операционной системы на VPS -сервере от Majordomo, после которой я просто не смог войти в phpmyadmin с паролем по-умолчанию. Пришлось срочно его менять.
Сам пароль для доступа к phpmyadmin совпадает с паролем root к серверу MySQL, который вы указывали при установке. Если Вы этот пароль по какой-то причине забыли, то восстановить его можно достаточно просто. Способ восстановления пароля описан в статье: Как изменить пароль root`а на MySQL-сервер?
Есть еще один небольшой нюанс, который следует учитывать, когда вы используете phpmyadmin – это способ авторизации этой надстройки.
За все это отвечает только один конфигурационный файл phpmyadmin – config.inc.php, который в операционной системе FreeBSD находится в директории /usr/local/www/phpMyAdmin. Содержимое моего файла, который является боевым, вот:
Теперь давайте разберем где тут что и как…
- blowfish_secret – это произвольная фраза, которая нужна для шифрования паролей в куках. Надежнее поменять ее на любую другую, только не стандартную.
- auth_type – это тип авторизации, который может принимать 2 значения: config и cookie:
- config – указывает на то, что логин/пароль будут браться из этого файла (две следующие строчки user и password). При таком режиме, успешный вход будет всегда, когда вы или кто-то другой просто зайдет на ваш домен, где размещается также phpmyadmin и может получит возможность натворить там всяких пакостей.
- cookie – указывает на то, что логин/пароль будут спрашиваться каждый раз, как кто-то переходит по адресу, где лежит phpmyadmin. Правильный пароль будет храниться в зашифрованном виде в куках на вашем компьютере.
Этих параметров конечно же больше, тут приведены только самые основные, которые необходимы для нормальной работы phpmyadmin.
Как изменить пароль от phpMyAdmin
Изменить или сбросить пароль от пользователя phpMyAdmin можно:
- по SSH. Этот способ подойдёт, если вы забыли пароль пользователя, под которым подключаетесь к phpMyAdmin.
- через интерфейс phpMyAdmin. Подойдёт, если вы знаете пароль и вам нужно его сменить.
В статье мы расскажем про оба способа.
Для сброса пароля по SSH вам понадобится доступ к root-пользователю MySQL. Если вы потеряли root-доступ к серверу баз данных, воспользуйтесь инструкцией.
Учётная запись, под которой вы подключаетесь к phpMyAdmin, — это обычный пользователь mySQL. Ниже мы расскажем, как сменить забытый пароль от такой учётной записи.
Как поменять пароль phpMyAdmin по SSH
ALTER USER 'username' IDENTIFIED BY 'password';
SET PASSWORD FOR 'username'@'localhost' = PASSWORD('password');
Готово, вы сменили пароль от пользователя phpMyAdmin.
Как поменять пароль в phpMyAdmin
При помощи приложения можно поменять пароль как от учётной записи, под которой вы авторизованы, так и для других учётных записей MySQL.
Нажмите Учетные записи пользователей:
Напротив нужного имени нажмите Редактировать привилегии:
Вверху страницы нажмите Изменить пароль:
Введите пароль и подтвердите его, затем нажмите Вперёд:
Готово, пароль от учётной записи изменён.
Стандартные доступы phpMyAdmin
На облачных серверах REG.RU с шаблонами LEMP и LAMP phpMyAdmin устанавливается автоматически. При подключении к такому серверу по SSH вы увидите приветственное окно с доступами:
phpMyAdmin default password
Change MySQL root password in phpMyAdmin
I’ve setup wamp server on window. Then, I use MySQL root password by cmd. As a result, when I access phpMyAdmin site, Access denied appeared (Default user for phpMyAdmin is root and password is blank/empty ). So, how could I change config variables in phpMyAdmin with new password of root. I’ve searched for solution on Internet, someone advise me add some line to config.inc.php as:
$cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'Changed'; $cfg['Servers'][$i]['AllowNoPasswordRoot'] = false;
I ‘ve change password of root in mysql. So I need to reconfig phpmyadmin. I don’t think use blank pass is a good idea
6 Answers 6
Explain what video describe to resolve problem
After Changing Password of root (Mysql Account). Accessing to phpmyadmin page will be denied because phpMyAdmin use root/»(blank) as default username/password. To resolve this problem, you need to reconfig phpmyadmin. Edit file config.inc.php in folder %wamp%\apps\phpmyadmin4.1.14 (Not in %wamp%)
$cfg['Servers'][$i]['verbose'] = 'mysql wampserver'; $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'changed'; $cfg['Servers'][$i]['host'] = '127.0.0.1'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['AllowNoPassword'] = false;
If you have more than 1 DB server, add «i++» to file and continue add new config as above
Yes, It works, thank for your help. I’ve editted file config but in folder wamp\scripts not wamp\apps\phpmyadmin4.1.14, so stupid 🙂 Sorry I can’t vote you answer up because I don’t have privileges enoungh. Newbie I’m
+1 as it helps @QuyenLe but it is not a good answer according to SO. There should be no external links in answer.
@QuyenLe Mark this answer as accepted. Better if you edit this answer and add what you exactly done to help others. thanks
You can change the mysql root password by logging in to the database directly (mysql -h your_host -u root) then run
SET PASSWORD FOR root@localhost = PASSWORD('yourpassword');
This helped me nonetheless workaround a problem where I needed to reset the password for a user, not root, in MySQL DB used by WordPress on an ISP. I used the command to reset the password (for userxyz instead of root) within php-MyAdmin using SQL window. Then I changed the webroot/wp-config.php file to update the password in that file. I tested and all worked fine. Note that upon changing the password the PMA session ended and I had to login again with the new password. Then I modified wp-config.php. Then tested.
0) go to phpmyadmin don’t select any db
1) Click «Privileges». You’ll see all the users on MySQL’s privilege tables.
2) Check the user «root» whose Host value is localhost, and click the «Edit Privileges» icon.
3) In the «Change password» field, click «Password» and enter a new password.
4) Retype the password to confirm. Then click «Go» to apply the settings.mysql> UPDATE mysql.user SET Password=PASSWORD('Your new Password') WHERE User='root';
Find your config.inc.php file under the phpMyAdmin installation directory and update the line that looks like
this:$cfg['Servers'][$i]['password'] = 'password';
$cfg['Servers'][$i]['password'] = 'newpassword';
Thank but maybe I talk my trouble not clearly enoungh. I can change password of root as you said. But, what I need is reconfig phpmyadmin to use new user/password. To avoid access denied. Sorry for my bad english
Change It like this, It worked for me. Hope It helps. firs I did
$cfg['Servers'][$i]['verbose'] = 'mysql wampserver'; //$cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'changed'; /* Server parameters */ $cfg['Servers'][$i]['host'] = '127.0.0.1'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; /* Select mysql if your server does not have mysqli */ $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['Servers'][$i]['verbose'] = 'mysql wampserver'; //$cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'root'; /* Server parameters */ $cfg['Servers'][$i]['host'] = '127.0.0.1'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; /* Select mysql if your server does not have mysqli */ $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['AllowNoPassword'] = false;
Resetting forgotten phpmyadmin password
I recently installed LAMP on Ubuntu 13.04(32-bit) but forgot my phpMyAdmin password. How can I reset its password without re-installing it?
For people having issues with the current accepted answer. I suggest checking out the DigitalOcean article How To Reset Your MySQL or MariaDB Root Password
4 Answers 4
Simply change or reset your MySQL root password by doing the following:
sudo mysqld --skip-grant-tables &
UPDATE user SET Password=PASSWORD('MYSECRET') WHERE User='root'; FLUSH PRIVILEGES; exit;
Can you please explain the use of #2 Start mysqld? Also, how will I be able to execute #3 since I don’t remember my MySQL password anymore?
The idea for #2 is that you are spawning a version of the MySQL daemon without a password. This allows you to reset it on step 4.
Using Ubuntu 16 I was not able to run mysqld manually — trying to create socket and socket lock file in a dir that didn’t even exist! But if you look at the very NEXT answer (which is not the accepted answer) that is what I needed — I stupidly forgot the password for the phpmyadmin user, and there it is, in plain text, in the phpmyadmin.conf folder!
I get 2020-09-22 10:40:17 140163612645568 [Note] mysqld (mysqld 10.2.14-MariaDB) starting as process 23841 . mysqld: Please consult the Knowledge Base to find out how to run mysqld as root! 2020-09-22 10:40:17 140163612645568 [ERROR] Aborting at step 2