phpMyAdmin – установка, решение проблем при установке и настройке

phpMyAdmin установка, настройка, проблемыPhpMyAdmin самое популярное web ориентированное управление базой данных MySQL. Незаменимый инструмент для всех, кто не дружит с языком команд MySQL сервера.

Для работы phpMyAdmin у вас должны уже стоять и работать

  • MySQL сервер
  • Http сервер с поддержкой php


1.Установка в Ubuntu
2.Установка из исходников
3.Решение проблем при установке phpMyAdmin


Установка в Ubuntu

Установку выполняем командой

sudo aptitude install phpmyadmin

Установщик спросит на какой http сервер ставим – я выбрал apache2, т.к. он уже стоял у меня. Далее скрипт установки попросил создать и сконфигурировать базу данных phpmyadmin – соглашаемся и вводим пользователя и пароль для управления этой базой данных.
После установки все конфиги хранятся в /etc/phpmyadmin. На всякий случай перезапускаем http сервер.

sudo /etc/init.d/apache2 restart

В браузере вводим http://localhost/phpmyadmin/ и авторизуемся от пользователей MySQL сервера.

Авторизация в phpMyAdmin

Авторизация в phpMyAdmin


Установка из исходников

Чтобы представлять что происходит при установке phpMyAdmin, я покажу действия, которые выполняют установочные скрипты многих дистрибутивов. К тому же способ установки из исходников универсален и подходит для всех Unix систем.
1. Скачиваем последнюю версию phpMyAdmin с официального сайта (на сегодняшний день последняя версия была 3.3.8).
2. Распаковываем скачанный архив в любую папку корневой директории нашего http сервера. Для условности пусть это будет папка phpmyadmin.
3. Находим в папке phpmyadmin/scripts файл create_tables.sql – это дамп таблицы phpmyadmin. Восстановим его командой от root или sudo


#mysql -u root -p < create_tables.sql

4. Заходим в консоль MySQL сервера и выставляем права на только что созданную базу данных phpmyadmin.


# mysql -u root -p
mysql> use phpmyadmin;
mysql> GRANT ALL ON phpmyadmin.* TO phpmyadmin@localhost IDENTIFIED BY 'your_password';
mysql> flush privileges;

5. Правим конфигурационный файл в корне папке phpmyadmin – config.sample.inc.php.
Переименовываем его в config.inc.php, выставляем владельцем файла того от кого работает сервер http (у меня это пользователь nobody) и выставляем права на файл 600 (эти действия выполняем от root или sudo)


#mv config.sample.inc.php config.inc.php
#chown nobody config.inc.php
#chmod 600 config.inc.php

В самом файле config.inc.php меняем значение строк – заносим пароль для авторизации через cookie и имя пользователя, пароль для восстановленной из дампа базы phpmyadmin.


$cfg['blowfish_secret'] = 'password';
/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'phpmyadmin';
$cfg['Servers'][$i]['controlpass'] = 'your_password';

а эти строки раскомментируем


/* Advanced phpMyAdmin features */
$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';

Теперь можно набирать в браузере http://localhost/phpmyadmin/ и авторизовываться.


Решение проблем при установке phpMyAdmin

1. При открытии браузером phpMyAdmin не открывается, а предлагает скачать страницу.
Решение – настроить поддержку php на http сервере. В apache модуль php подключается в httpd.conf строками,


LoadModule php5_module        modules/libphp5.so

само собой php должен быть установлен 🙂 После изменения httpd.conf перезагрузить apache сервер

2. При попытки авторизоваться возникает ошибка:
#2002 Невозможно подключиться к серверу MySQL
Решение – проверьте запущен ли MySQL сервер через консоль командой


mysql -u user -p

Если пользователь нормально авторизуется, то проверьте права на файл mysql.sock. Права на файл должны быть 777.

3. После авторизации возникает ошибка:
Невозможно загрузить расширение mcrypt! Проверьте настройки PHP.
Решение – убедитесь что в вашей системе установлено приложение mcrypt и библиотека libmcrypt, а модуль php для http сервера был собран с переменной


--with-mcrypt

4. После авторизации возникает ошибка:
При работе с многобайтными кодировками без установленного расширения PHP “mbstring”, phpMyAdmin не в состоянии производить корректное разбиение строк, что может привести к непредсказуемым результатам. Установите расширение PHP “mbstring”.
Решение – пересобрать модуль php для http сервера с параметром


--enable-mbstring

или раскомментировать в php.ini строку


extension=mbstring.so

5. После авторизации в phpMyAdmin видим предупредение:
При cookie-аутентификации, в конфигурационном файле необходимо задать парольную фразу установив значение директивы $cfg[‘blowfish_secret’].
Решение – в файле конфигурации phpMyAdmin – config.inc.php задать пароль в строке


$cfg['blowfish_secret']

6. После авторизации в phpMyAdmin видим предупредение:
Дополнительные возможности для работы со связанными таблицами недоступны. Для определения причины нажмите здесь.
Решение – либо не установлена база данных phpMyAdmin, либо не раскомментированы строки для этой базы в файле config.inc.php. Как это делать смотрите пункты 3,4,5 из установка из исходников

Если у вас есть или были другие ошибки при установке, настройке то прошу отписываться в комментах, будем дополнять..

Запись опубликована в рубрике Программы с метками , , , . Добавьте в закладки постоянную ссылку.

22 комментариев phpMyAdmin – установка, решение проблем при установке и настройке

  1. Денис Иванов говорит:

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

  2. draff говорит:

    Денис Иванов
    Попробуй установить/поменять пароль админа мускул сервера
    [code] mysqladmin password новый пароль[/code]

  3. Данил говорит:

    не заходит на localhost/phpmyadmin пишет что страница отсутчвует что делать?

  4. Daniilino говорит:

    после установки запускаю phpmyadmin, а вместо авторизации выдаёт
    The mysqli extension is missing. Please check your PHP configuration.

    я какие тока инструкции по установке не просмотрел, сколько раз не переустанавливал – тот же баян

    • mik говорит:

      так это скорей всего у вас php собран без поддержки mysql. Сделайте тестовую страницу test.php



      для проверки как собран php. Должна быть опция –with-mysql и указывать на правильный каталог с mysql

  5. Степан говорит:

    Добрый день. Установил Xampp 1.8.0 на ubuntu, затем установил mysqlserver и задал пароль – после чего phpmyadmin перестал работать

    Ошибка

    Ответ MySQL: Документация
    #2002 – No such file or directory
    Сервер не отвечает (либо локальный сокет сервера MySQL неверно настроен).
    Ошибка при указании соединения для controluser в конфигурации.

    Открыть phpMyAdmin в новом окне , после в config.inc.php записал пароль, поменял true на false, но проблема не решилась…)

  6. Зинаида говорит:

    Доброго времени суток!

    Не подскажете – установила сборку денвера, запускаю его, у меня выскакивает окошко с путем на mysql и быстро закрывается. В нем команды писать нельзя.
    PHPAdmin не запускается, пишет 2002 ошибку. Версия в папке имеет расширение 5.5. Как запустить mysql, который работает под денвером и убрать ошибку?

    Еще я установила по учебнику EASYPHP 3.0, запустила его через cmd. Там команды получается создавать. Причем иногда параллельно пускает в PHPAdmin но внизу подписывает, что есть какая-то разница в версиях. Можно ли эту 3.0 удалить или уже нельзя потому что я под ней создавала таблицы.

    с уважением, баба зина.

  7. andrey говорит:

    Предлагаю взглянуть на хороший и бесплатный инструмент — Valentina Studio 5.x, который вышел буквально пару месяцев назад. Я юзаю уже месяц – до сих пор нахожу новые фишки.
    http://www.valentina-db.com/valentina-studio-overview

  8. ALEXHOV говорит:

    Всем привет !
    у меня такой вопрос:
    при попытки зайти на главную страницу phpmyadmin пишет вот что:
    —————————————————————————————————–
    Ошибка
    SQL-запрос: Изменить

    SELECT `tables`
    FROM `phpmyadmin`.`pma_recent`
    WHERE `username` = ‘root’

    Ответ MySQL:

    #1146 – Table ‘phpmyadmin.pma_recent’ doesn’t exist
    —————————————————————————————————–
    – хотя физически существует о_О

    как быть ? что делать ?

    • mik говорит:

      Статья уже устарела 🙁
      если не делали то попробовать заново сделать создание таблиц из каталога examples/create_tables.sql.
      Если не поможет то вниматеьно выполнить все шиги из http://php-myadmin.ru/learning/instrument-pma.html. Там еще пользователя pma создать надо.

  9. Андрей говорит:

    Я накуролесил со временем действия сессии, и теперь она у меня длится 1 секунду, и, соответственно, не могу зайти в phpmyadmin и и изменить этот параметр. Подскажите пожалуйста, в каком файле хранятся настройки времени действия сессии?

  10. Гость говорит:

    Все прекрасно работало, а в очередной раз попыталась зайти в одну из таблиц базы данных он мне пишет: Ответ MySQL: Документация

    #2002 – ����������� �� �����������, �.�. �������� ��������� ������ ������ �� �����������.

    Сервер не отвечает (либо локальный сокет сервера MySQL неверно настроен).
    Причем данная таблица раньше открывалась, а сейчас нет….
    Что это?

    • mik говорит:

      А пробовали пути решения что написаны у меня. Через консоль соединяет? lock файл на месте и с нужными правами?

  11. Гость говорит:

    все на месте и не чего….. все побывала. что за глюк? причем не чего не трогала….

    • mik говорит:

      ну что за глюк я вас не скажу.
      Значит я правильно вас понял, вы убедились в наличии прав 777 на сокет файл, попробовали соединиться локально и все хорошо..
      сделайте тестовую страницу на сервере phpinfo.php
      < ?php phpinfo() ?>

      откройте страницу и посмотрите куда ссылается переменная MYSQL_SOCKET .

  12. Дима говорит:

    Здравствуйте. При создании новой базы данных создал нового пользователя с ALL PREVILEGIES а на root пользователей ( их 3 ) поставил пароли и отменил все привилегии.В итоге выдает вот такую ошибку – #1045 – Access denied for user ‘root’@’localhost’ (using password: NO) .
    Помогите пожулуйсто, 1.5 месяца работы уйдет в топку.(

    • mik говорит:

      То что для root пользователя отменили все привилегии это не очень хорошо. Попробуйте все вернуть как было и проверить заход в базу через командную строку для пользователя, что создали и для root пользователя.
      Лучше всетаки придерживаться правил, что root пользователь главный для mysql со сложным паролем, а для разных баз создавать пользователей с правами ALL PREVILEGIES для конкретных баз.
      Надеюсь в конфиге phpmyadmin все поменяли для нового пользователя?

      • Дима говорит:

        Как это все вернуть как было?В phpmyadmin вообще не заходит а как с командной строки это делать я совсем не знаю.
        Хотел сайт обезопасить…Дообезопасил мать его…
        Добрый человек,помоги пожалуйста.

        • mik говорит:

          Я подумал, что вы просто пароль root сломали, а вашему пользователю на сайт дали все полномочия. Если это так то можно залогиниться в phpmyadmin не root а пользователем сайта и сделать все что надо пользователю root.
          Если это не сработало, то теперь поможет только командная строка из ssh консоли. Там много нюансов в зависимости от ситуации как вы поломали пароли. Я вот сейчас глянул инет, самое толковое это посмотреть статью о mysql для сбросов паролей. http://www.youisbee.ru/howto/mysql/66-ustanovka-izmenenie-i-sbros-parolya-root-v-mysql.html

          Вот сейчас подумал, что если у вас какой-то дешевый хостинг и нет доступа к ssh то это не поможет и надо просить техподдержку установить пароль и привелегии root на БД.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *