Как изменить пароль root для mysql и phpmyadmin

41

Я установил mysql и phpmyadmin и решил не устанавливать пароль при установке, надеясь, что после настройки я смогу войти в систему с правами root и без пароля, но получаю следующую ошибку от phpmyadmin:

Login without a password is forbidden by configuration (see AllowNoPassword)

Ранее я переместил папку phpmyadmin в /var/www/

Я попытался изменить следующую строку

$cfg['Servers'][$i]['AllowNoPassword'] = false;

в

$cfg['Servers'][$i]['AllowNoPassword'] = true;

но все еще не увенчались успехом, поэтому мне интересно, есть ли способ, которым я могу изменить пароли root для обоих, чтобы я мог получить доступ к phpmyadmin и создавать базы данных.

Джон
источник

Ответы:

59

Вы можете изменить пароль root mysql, войдя в базу данных напрямую ( mysql -h your_host -u root), затем запустите

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

phpmyadmin должен использовать этот пароль, поэтому не совсем уверен, что вы подразумеваете под «для обоих».

Обязательно установите новый пароль в phpmyadmin's config.inc.phpтоже, в строке

$ cfg ['Servers'] [$ i] ['password'] = 'ваш пароль';
В противном случае phpmyadmin может не работать, повторяя

Доступ запрещен для пользователя 'user' @ 'localhost' (используя пароль: YES)
geermc4
источник
1
Спасибо, я не был уверен, нужно ли было устанавливать пароль для обоих, поскольку я использовал только WAMP в прошлом.
Джон
Где я могу найти config.inc.php?
Hrvoje T
2
Хорошо, я нашел это, но нет строки `$ cfg ['Servers'] [$ i] ['password'] = 'yourpassword';
Hrvoje T
1
обычно config.inc.php находится в /etc/phpmyadmin/config.inc.php
Йостино
27

Это зависит от вашей конфигурации. Следуйте инструкциям ниже, чтобы перенастроить phpmyadmin и сбросить пароль MySQL.

  1. Ctrl + Alt + T для запуска терминала
  2. sudo dpkg-reconfigure phpmyadmin
  3. Метод подключения для базы данных MySQL для phpmyadmin: сокет unix
  4. Имя администратора базы данных: root
  5. Пароль администратора базы данных: mysqlsamplepassword
  6. Имя пользователя MySQL для phpmyadmin: root
  7. Имя базы данных MySQL для phpmyadmin: phpmyadmin
  8. Веб-сервер для автоматической перенастройки: apache2
  9. ОШИБКА 1045
  10. игнорировать
  11. sudo dpkg-reconfigure mysql-server-5.5
  12. Новый пароль для пользователя root «MySQL»: mysqlsamplepassword
  13. Повторите пароль для «root» пользователя MySQL: mysqlsamplepassword
  14. После всего этого запустите следующую команду на терминале, чтобы защитить ваш сервер MySQL. sudo mysql_secure_installation

  15. Введите текущий пароль для root (введите no): mysqlsamplepassword

  16. Изменить пароль root? [Да / Нет] Нет
  17. Удалить анонимных пользователей? [Да / Нет] у
  18. Запретить root-вход удаленно? [Да / Нет] у
  19. Удалить тестовую базу данных и получить к ней доступ? [Да / Нет] у
  20. Перезагрузить таблицы привилегий сейчас? [Да / Нет] у

Жаль, что это помогает!

Хорошего дня!

Амиго Чан
источник
Пароль MySQL также можно изменить с помощью sudo mysql_secure_installation.
user2513149
12

Я недавно сталкивался с той же самой проблемой Ubuntu 12.04. Я просто не мог войти в систему с root и без пароля. Я установил для параметра AllowNoPassword значение TRUE в конфигурации. Позже я узнал, что я редактировал неправильный файл config.inc.php, чтобы добавить параметр AllowNoPassword.

Edit:
/etc/phpmyadmin/config.inc.php
Not:
/usr/share/phpmyadmin/config.inc.php

Я считаю, что первым является локальный конфигурационный файл debian, который переопределит версию usr.

jjwdesign
источник