• Пользователь по умолчанию в phpmyadmin. Руководство. Конфигурирование phpMyAdmin. Скачивание и установка phpMyAdmin

    Одна из причин, по которой компании вроде LastPass получают такую популярность, - это невозможность человека запомнить все пароли и логины. А что происходит, когда вам надо сбросить пароль для доступа к WordPress сайту, который вы забыли и никак не можете вспомнить, даже под угрозой окончательного "провала" вашего проекта? В такие моменты вам станет помощником этот пост. В нем мы поговорим, как "обнулить" забытый пароль.

    Процедуру "обнуления" и восстановления пароля в WordPress надо разделить на 2 части :

    • Восстановление при помощи phpMyAdmin
    • Восстановление пароля с применением MySQL (если не установлен phpMyAdmin на вашем сервере).

    Восстанавливаем пароль администратора WordPress с помощью phpMyAdmin

    Для начала запускаем phpMyAdmin . Если вы используете WAMP или его разновидности, то достаточно кликнуть по иконке в панели задач и выбрать phpMyAdmin :

    При использовании shared-хостинга и cPanel надо войти в cPanel и выбрать phpMyAdmin в разделе Databases :

    Если вы используете в качестве хостинга , вы можете получить доступ к phpMyAdmin из пользователя, выбрав сайт и нажав на кнопку phpMyAdmin :

    Попав в phpMyAdmin , выбираем Базу Данных , которую вы использовали для установки WordPress. В нашем практическом руководстве предположим, что база данных называется wp_genesis :

    Смотрим на пункт таблицы под названием wp_users , выбираем его. В большинстве сценариев именно там "кроется" пароль. Но те, кто особенно тщательно настраивает безопасность WordPress, могут добавить свои префиксы к этому названию, которое дается по умолчанию. Префикс wp_ добавляется к таблице и пункту users . Если же вы использовали префикс вида ptbktwp_ , то у вашей таблицы и пункта будет соответствующий префикс: ptbktwp_users .

    Следующие 2 таблицы помогут вам понять, как это работает:

    Использование префикса по умолчанию wp_ :

    Использование собственного префикса ptbktwp_ :

    Для простоты предположим, что префикс у нас wp_ users. После загрузки таблицы мы ищем то же имя пользователя , которое выбрали при установке WordPress. Имя, которое предлагается по умолчанию и чаще всего используется, - это admin . Кликнем на желтую иконку в форме карандаша (Edit) рядом с admin :

    Смотрим на строку user_pass и вносим в нее следующие изменения:

    Вы можете попробовать зайти в консоль сайта с указанием нового пароля.

    Если текстовые инструкции вас не устроили, то можете посмотреть на этот процесс на видео :

    Надеемся, вам этот пост поможет разобраться с забытым паролем на сайте.

    Кликните по заголовку, что бы открыть/закрыть подробное описание процесса

    Нам потребуется создать новую базу данных - щелкаем по вкладке "Базы данных" . В текстовом поле подраздела "Создать базу данных" вводим phpmyadmin , нажимаем кнопку "Создать" .

    Создадим нового пользователя - щелкаем по вкладке "Пользователи" .

    На данный момент у нас создан единственный пользователь с именем root . Кликаем по ссылке "Добавить пользователя" ,

    в открывшемся всплывающем окне, в разделе "Информация учетной записи" в текстовое поле "Имя пользователя:" вводим "pma" . В текстовое поле "Хост:" вводим "localhost" . В поле "Пароль:" вводим пароль (любой, который придет вам в голову). В поле "Подтверждение:" подтверждаем введенный выше пароль.

    Скролируем окно до раздела "Глобальные привилегии" , жмем на ссылку "Отметить все" .

    Кликаем по кнопке "Добавить пользователя" .

    Новый пользователь с именем pma будет создан.

    Теперь, в созданную базу нужно импортировать данные. В левой колонке выбираем phpmyadmin (кликаем по ней мышью).

    В верхнем меню щелкаем по вкладке Импорт .

    В подразделе Импортируемый файл: нажимаем кнопку обзор.

    В открывшемся контекстном меню выбираем файл create_tables.sql , который находится в папке examples , лежащей внутри корневой директории phpMyAdmin (в моем случае полный путь выглядит так: c:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\phpmyadmin\examples\create_tables.sql ).

    В самом низу страницы находим и жмем кнопку Ok . База импортирована.

    Внесем изменения в конфигурационный файл.

    Открываем в блокноте файл config.inc.php . Ищем строку $cfg["Servers"][$i]["controlhost"] = ""; , разкомментируем ее (удаляем двойной слеш), в кавычки вписываем localhost (строка примет вид $cfg["Servers"][$i]["controlhost"] = "localhost"; ).

    Находим и разкомментируем строку $cfg["Servers"][$i]["controlpass"] = "pmapass"; , в кавычках меняем пароль, на тот, который назначался при создании пользователя pma .

    Находим и разкомментируем следующие строки:

    $cfg["Servers"][$i]["controluser"] = "pma";

    $cfg["Servers"][$i]["pmadb"] = "phpmyadmin";

    $cfg["Servers"][$i]["bookmarktable"] = "pma_bookmark";

    $cfg["Servers"][$i]["relation"] = "pma_relation";

    $cfg["Servers"][$i]["table_info"] = "pma_table_info";

    $cfg["Servers"][$i]["table_coords"] = "pma_table_coords";

    $cfg["Servers"][$i]["pdf_pages"] = "pma_pdf_pages";

    $cfg["Servers"][$i]["column_info"] = "pma_column_info";

    $cfg["Servers"][$i]["history"] = "pma_history";

    $cfg["Servers"][$i]["tracking"] = "pma_tracking";

    $cfg["Servers"][$i]["designer_coords"] = "pma_designer_coords";

    $cfg["Servers"][$i]["userconfig"] = "pma_userconfig";

    $cfg["Servers"][$i]["recent"] = "pma_recent";

    $cfg["Servers"][$i]["table_uiprefs"] = "pma_table_uiprefs";

    Сохраняем изменения в файле, выходим и снова заходим в phpMyAdmin . Предупреждение исчезло.

    Как альтернативный вариант (если очень не хочется копаться в коде) - заменяем все содержимое файла config.inc.php на код, приведенный ниже

    < $cfg["blowfish_secret"] = "a8b7c6d"; $i = 0; $i++; $cfg["Servers"][$i]["auth_type"] = "cookie"; $cfg["Servers"][$i]["host"] = "localhost"; $cfg["Servers"][$i]["connect_type"] = "tcp"; $cfg["Servers"][$i]["compress"] = false; $cfg["Servers"][$i]["extension"] = "mysqli"; $cfg["Servers"][$i]["AllowNoPassword"] = false; $cfg["Servers"][$i]["controlhost"] = "localhost"; $cfg["Servers"][$i]["controluser"] = "pma"; $cfg["Servers"][$i]["controlpass"] = "пароль для пользователя pma"; $cfg["Servers"][$i]["pmadb"] = "phpmyadmin"; $cfg["Servers"][$i]["bookmarktable"] = "pma_bookmark"; $cfg["Servers"][$i]["relation"] = "pma_relation"; $cfg["Servers"][$i]["table_info"] = "pma_table_info"; $cfg["Servers"][$i]["table_coords"] = "pma_table_coords"; $cfg["Servers"][$i]["pdf_pages"] = "pma_pdf_pages"; $cfg["Servers"][$i]["column_info"] = "pma_column_info"; $cfg["Servers"][$i]["history"] = "pma_history"; $cfg["Servers"][$i]["table_uiprefs"] = "pma_table_uiprefs"; $cfg["Servers"][$i]["tracking"] = "pma_tracking"; $cfg["Servers"][$i]["designer_coords"] = "pma_designer_coords"; $cfg["Servers"][$i]["userconfig"] = "pma_userconfig"; $cfg["Servers"][$i]["recent"] = "pma_recent"; $cfg["UploadDir"] = ""; $cfg["SaveDir"] = ""; ?>

    Не забываем вписать в строке $cfg["Servers"][$i]["controlpass"] = "пароль для пользователя pma"; в кавычках пароль, который был задан для пользователя pma и в строке $cfg["blowfish_secret"] = "a8b7c6d"; увеличить надпись в кавычках минимум до 10 символов

    .
    3. Теперь Вы должны создать конфигурационный файл (config.inc.php). Создание конфигурационного файла - необходимое условие прежде всего для запуска phpMyAdmin, а также необходимо для задания некоторых возможностей. Эта задача может быть выполнена двумя разными способами. Традиционно, пользователи могут вручную отредактировать копию файла config.inc.php. Кроме этого, пользователи, предпочитающие графическую инсталляцию, могут воспользоваться мастером установки (скриптом инсталляции).

    • Для того, чтобы вручную создать конфигурационный файл, достаточно простейшего текстового редактора, с помощью которого нужно создать файл config.inc.php. Для упрощения задачи, Вы можете скопировать в текстовый редактор содержимое файла config.sample.inc.php - образца рабочей конфигурации, содержащей минимальное количество конфигурационных переменных.

      Созданный файл необходимо поместить в главную директорию phpMyAdmin (ту, которая содержит index.php). phpMyAdmin сперва загружает libraries/config.default.php, а затем подменяет значения прописанных в нем переменных теми, что находит в config.inc.php. Если значение по умолчанию (тех переменных, что определены в libraries/config.default.php) Вас устраивает, тогда нет необходимости включать его в config.inc.php. Для запуска phpMyAdmin вам понадобятся как минимум несколько директив, простейшая конфигурация может выглядеть так:

      $cfg["blowfish_secret"] = "ba17c1ec07d65003"; // use here a value of your choice
      $i=0;
      $i++;
      $cfg["Servers"][$i]["auth_type"] = "cookie";
      ?>

      Или, если вы не хотите вводить каждый раз логин/пароль (данная конфигурация не рекомендуется из соображений безопасности), конфигурационный файл может выглядеть так:
    • Вместо ручного редактирования файла config.inc.php, Вы можете использовать скрипт установки. Прежде всего, вам необходимо вручную создать в главной директории phpMyAdmin папку "config". Это - мера безопасности. При работе под ОС Linux/Unix Вы можете использовать следующие команды:

      Для редактирования уже существующего конфигурационного файла, можно воспользоваться следующими командами:

      На других платформах, просто создайте директорию и убедитесь, что Ваш веб-сервер имеет права на чтение и запись в неё. FAQ 1.26 может помочь в этом случае.

      Затем, откройте в браузере scripts/setup.php. Помните, что изменения не будут сохранены на диск до тех пор, пока не будет нажата кнопка "Save" в блоке "Configuration". Если все хорошо, то скрипт сохранит новый config.inc.php в директорию config/, но если веб-сервер не имеет необходимых прав, Вы можете увидеть сообщение об ошибке "Cannot load or save configuration". В таком случае, убедитесь, что директория config/ создана и имеет необходимые права, либо воспользуйтесь ссылкой "Download" для сохранения конфигурационного файла на локальный диск и последующей закачки (например, через FTP) на сервер.

      Как только файл был сохранен, необходимо переместить его из директории config/ в главную директорию phpMyAdmin и в целях безопасности сбросить права на него:

      Теперь файл готов к использованию. Вы можете просмотреть и отредактировать конфигурационный файл в текстовом редакторе, если потребуется установка некоторых расширенных опций, настройка которых не предусмотрена скриптом установки.

    4. Если Вы собираетесь использовать "config" аутентификацию (auth_type), необходимо защитить директорию в которую был установлен phpMyAdmin от несанкционированного доступа, потому что данный режим позволяет любому пользователю получить доступ к phpMyAdmin без предварительного ввода логина/пароля. Рекомендуются альтернативные методы аутентификации, например, HTTP-AUTH (с помощью.htaccess файла), либо использованием одного из двух других методов аутентификации: cookie или http. См. подраздел FAQ "Мультипользовательская установка" для дополнительной информации, особенно обратите внимание на FAQ 4.4 .
    5. Откройте главную директорию phpMyAdmin в вашем браузере. Должно появиться окно приветствия phpMyAdmin и Ваши базы данных, или окно ввода логина, в случае использования режима HTTP- или cookie-аутентификации. 6. Вы должны запретить доступ к субдиректории./libraries средствами вашего веб-сервера. В случае использования веб-сервера Apache для защиты директории Вы можете использовать файл.htaccess. При использовании других веб-серверов вы должны запретить доступ к директории./libraries самостоятельно. Подобная конфигурирование - превентивная мера на случай обнаружения уязвимостей: возможного раскрытия пути (path exposure) и межсайтового выполнения сценариев (Cross-site Scripting, XSS).

    Linked-tables infrastructure (Инфраструктура связанных таблиц)

    Для использования многих опций (закладок, комментариев, SQL-истории, PDF-схем, преобразования содержимого полей, и т.д.) необходимо создать набор специальных таблиц. Эти таблицы могут находиться как в Вашей базе данных, так и в центральной базе при многопользовательской системе (в этом случае данная БД может быть доступна только для пользователя controluser, соответственно, другие пользователи не имеют прав на неё).

    Зайдите в директорию scripts/ , здесь вы найдете файл create_tables.sql . (Если используете Windows сервер, обратите особое внимание на FAQ 1.24).

    Если у Вас установлена версия MySQL сервера 4.1.2 или более позднее, используйте вместо вышеуказанного файла create_tables_mysql_4_1_2+.sql , для новой инсталляции.

    Если у вас уже есть готовая инфраструктура и вы обновляете MySQL до версии 4.1.2 или выше, используйте upgrade_tables_mysql_4_1_2+.sql .

    Вы можете использовать phpMyAdmin для создания баз данных и таблиц, для этого необходимо обладать администраторскими привилегиями на создание баз данных и таблиц, в связи с чем скрипту может понадобиться небольшая настройка (указание названия базы данных).

    После импорта create_tables.sql , Вы должны определить названия таблиц в файле config.inc.php , с помощью директив, описанных в разделе "Конфигурирование" . Кроме этого необходимо обладать правами controluser на данные таблицы (см. ниже, раздел "Использование режима аутентификации").

    Обновление старой версии

    Просто скопируйте конфигурационный файл ./config.inc.php от предыдущей версии в директорию куда был распакован phpMyAdmin. Конфигурационные файлы из очень старых версий (2.3.0 or older) могут потребовать некоторых настроек, т.к. некоторые опции были изменены или удалены.

    Если Вы обновили свой MySQL-сервер с версии старше, чем 4.1.2 до версии 4.1.2 или новее,и используете инфраструктуру связанных таблиц, тогда необходимо запустить SQL-скрипт, который находится в scripts/upgrade_tables_mysql_4_1_2+.sql.

    Использование режимов аутентификации

    При использовании "HTTP" и "cookie" режимов phpMyAdmin, рекомендуется завести пользователя (controluser), который должен обладать правами только на выборку (SELECT) из следующих таблиц: mysql.user (все столбцы за исключением "Password"), mysql.db (все столбцы), mysql.host (все столбцы) и mysql.tables_priv (все столбцы за исключением "Grantor" и "Timestamp").

    GRANT USAGE ON mysql.* TO "pma"@"localhost" IDENTIFIED BY "pmapass";
    GRANT SELECT (
    Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
    File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
    Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
    Execute_priv, Repl_slave_priv, Repl_client_priv
    ) ON mysql.user TO "pma"@"localhost";
    GRANT SELECT ON mysql.db TO "pma"@"localhost";
    GRANT SELECT ON mysql.host TO "pma"@"localhost";
    GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
    ON mysql.tables_priv TO "pma"@"localhost";

    Необходимо установить настройки для controluser в файле config.inc.php в следующих секциях: $cfg["Servers"][$i]["controluser"] и $cfg["Servers"][$i]["controlpass"] .

    В нижеприведенном примере, в обучающих целях используются следующие значения для: "controluser" - "pma", "pmapass" - "controlpass". Но на практике используйте другие значения в своих файлах!

    Разумеется, localhost в случае необходимости нужно заменить на реальное имя веб-сервера.

    Если вы используете старую версию MySQL (ниже 4.0.2), замените первый запрос GRANT SELECT следующим образом:

    GRANT SELECT (Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) ON mysql.user TO "pma"@"localhost";

    И если Вы хотите использовать возможности закладок и связей:

    GRANT SELECT, INSERT, UPDATE, DELETE ON .* TO "pma"@"localhost";

    (конечно, подразумевается, что должна быть настроена инфраструктура связанных таблиц).

  • Разумеется, пользователь должен разрешить браузеру использовать куки. Теперь это необходимое требование для всех методов аутентификации
  • В этом режиме, после прохождения первичной идентификации phpMyAdmin создает на компьютере пользователя cookie-файл, содержащий логин и пароль пользователя, который будет автоматически подставляться при следующих сеансах.
  • При использовании данного режима пользователь может завершить сеанс phpMyAdmin и авторизоваться под другим именем.
  • Если вы собираетесь проходить процедуру идентификации на произвольном сервере обратите внимание на директиву $cfg["AllowArbitraryServer"] .
  • Как указано в секции "Технические требования" , наличие PHP библиотеки mcrypt на сервере способно ускорить фазу авторизации, но наличие её не обязательно.
  • "config" - аутентификация

    В предыдущих материалах были описаны установка и запуск локального веб-сервер Apache на ОС Microsoft Windows 7, а так же, к веб-серверу был подключен модуль языка программирования PHP и СУБД (систему управления базами данных) MySQL.

    Теперь нам необходимо "обзавестись" удобным средством управления базами данных MySQL, одним из таких средств, получившим большую популярность, является phpMyAdmin.

    phpMyAdmin - веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс.

    Скачивание и установка phpMyAdmin

    Скачиваем последнюю версию phpMyAdmin, для этого перейдем по ссылки http://phpmyadmin.net/home_page/downloads.php и найдем на странице дистрибутив, имя которого имеет формат "phpMyAdmin-X-X-X-all-languages.*" .

    Распакуем директорию скаченного архива в "C:\Apache24\htdocs\" и переименуем распакованную директорию в "phpmyadmin" . В итоге файлы скаченного нами архива должны располагаться в директории

    скачивание и установка phpMyAdmin

    В пункте "Работа с конфигурационным файлом php.ini" материала Подключение PHP к Apache нами был рассмотрен пример подключения динамически загружаемых расширений . Для дальней работой с phpMyAdmin в конфигурационном файле php "C:\php\php.ini" необходимо подключить следующие расширения (после подключения расширений необходимо перезагрузить веб-сервер):

    в файле php.ini найдем блок Dynamic Extensions (Динамические Расширения)

    ;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;; ... extension=php_mbstring.dll extension=php_mysql.dll extension=php_mysqli.dll extension=php_pdo_mysql.dll ...

    раскомментируем необходимые расширения

    Запуск и настройка phpMyAdmin

    Как и большинство веб-приложений, phpMyAdmin имеет конфигурационный файл, в котором хранятся необходимые для его запуска настройки. Предлагаю Вам, сначала попробывать запустить phpMyAdmin, а потом, исходя из неудачных попыток его запуска, создать и настроить его конфигурационный файл.

    Откроем в браузере страницу http://localhost/phpmyadmin или страницу http://localhost/phpmyadmin/index.php . Перед Вами должна появиться страница с формой для авторизации. В форму необходимо внести имя пользователя и пароль MySQL.

    Ранее в материале Подключение MySQL к Apache нами была установлена служба MySQL. В нашем случае, по умолчанию, MySQL имеет главного пользователя c именем root и не имеющего пароль. Исходя из этих данных, попробуем авторизоваться. Вводим имя пользователя - root и не указываем пароль.

    После неудачной попытки авторизации в форму возвращаются информационные сообщения. В нашем случае, (случае отсутствия пароля), мы увидем сообщениие: "Вход без пароля запрещен при конфигурации (смотрите AllowNoPassword)" . Данное сообщение указывает, что нельзя допускать отсутствие пароля.

    Теперь давайте создадим и настроим конфигурационный файл phpMyAdmin.

    Для этого нам необходимо создать, а точнее скопировать, существующий в корне данного приложения конфигурационный файл. В директории "C:\Apache24\htdocs\phpmyadmin" ищем файл "config.sample.inc.php" и создаем его копию с новым именем "config.inc.php" .

    Открываем файл в текстовом редакторе и, так как при попытки авторизации нам было указано: "...(смотрите AllowNoPassword)" , ищем данное значение и записываем в него true .

    изменяем значение переменной на true

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

    После изменения данного значения, при попытки входа пользователя без пароля в phpMyAdmin, конфигурация не будет "ругаться" на его отсутствие. Но стоит отметить, что это не означает, что пользователь имеющий пароль может его не указывать. Теперь можете авторизоваться.

    запуск phpMyAdmin

    Убираем авторизацию в phpMyAdmin

    Так как мы установили phpMyAdmin на своем локальном веб-сервере и соответственно работать на нем будете только Вы, думаю, будет целесообразно отключить авторизацию в данном веб-приложении. На боевом веб-сервере, в целях безопасности, отключение авторизации делать конечно же не нужно.

    Открываем файл "C:\Apache24\htdocs\phpmyadmin\config.inc.php" в текстовом редакторе и вносим следующие изменения.

    значение переменной $cfg["Servers"][$i]["auth_type"] = "config"; означает, что данные для авторизации будут браться из конфигурационного файла, а именно из переменных указанных ниже.

    По итогам изучения данного материала нами было скачено, установлено и запущено веб-приложение phpMyAdmin, которое позволяет осуществлять администрирование сервера MySQL через браузер. А так же, для базовой настройки phpMyAdmin нами были внесены изменения в конфигурационный файл "config.inc.php" .