Библиотека сайта rus-linux.net
Ошибка базы данных: Table 'a111530_forumnew.rlf1_users' doesn't exist
Удалённое управление MySQL с помощью phpMyAdmin
Оригинал: Manage MySQL remotely with phpMyAdminАвтор: Федерико Кереки (Federico Kereki)
Дата: 25 марта 2008 г.
Перевод: Сергей Супрунов
Дата перевода: 05 февраля 2009 г.
Если вы проектируете веб-сайты, используя для хранения информации базу данных, то с высокой долей вероятности вы работаете с MySQL. Вы можете управлять своей базой данных из командной строки, но это не слишком удобно. Использование графического инструмента phpMyAdmin помогает решить эту проблему, но не все веб-хостеры предлагают его или позволяют установить его на сервер. К счастью, вы можете установить его на свой собственный компьютер и одновременно управлять различными MySQL-базами удалённо, без необходимости ставить что-то ещё.
phpMyAdmin является программой с открытым кодом, написанной (как нетрудно догадаться) на PHP. Она позволяет вам решать самые разнообразные задачи по администрированию MySQL через веб посредством простого графического интерфейса. Если вам нужно сделать что-то, не предусмотренное этим интерфейсом, phpMyAdmin позволяет вернуться к непосредственному использованию MySQL-команд, так что вы всегда сможете выполнить любую задачу, независимо от её сложности. Это ПО доступно для большинства дистрибутивов, переведено более чем на 50 языков и распространяется под GPL.
Установка и настройка
Прежде чем приступать к установке phpMyAdmin, у вас уже должен быть установлен Apache. В этой статье я предполагаю, что html-файлы веб-сервера размещаются в /src/www/htdocs
(другой общепринятый каталог - /var/www/html
) и что Apache запускается от имени пользователя wwwrun
, входящего в группу www
. Детали конфигурации для html-файлов сохраняются в файле default-server.conf
, а всё, что касается пользователя и группы - в uid.conf
.
Если phpMyAdmin есть в репозитариях вашего дистрибутива, вы можете установить его с помощью
вашего менеджера пакетов. В моём случае, поскольку я предпочитаю
Smart, я просто запустил команду
smart install phpMyAdmin
. Если последней версии в ваших репозитариях нет,
зайдите на страницу загрузки
phpMyAdmin и скачайте подходящую версию. (Для многоязычной установки я рекомендую файл
all-languages.tar.gz
; если вам хватает английского, попробуйте english.tar.gz
.)
После загрузки этого файла выполните от имени пользователя root
следующую команду:
tar zxf all-languages.tar.gz -C /srv/www/htdocs && chown wwwrun.www -R /src/www/htdocs/phpMyAdmin*
(Не забудьте подправить при необходимости имя архива и путь к каталогу.) Для изменения настроек phpMyAdmin вам придётся редактировать файл config.inc.php
, синтаксис которого трудно назвать слишком дружелюбным. Вы можете обратиться к
онлайновой документации, но в данном случае вам нужно будет подправить лишь несколько строк. Откройте файл и найдите группу строк, начинающихся с $cfg['Servers'][$i]
; отредактируйте следующие строки (замечание: они могут перемежаться с другими параметрами или располагаться в другом порядке, чем показано здесь):
Для каждого сервера, которым вы хотели бы управлять удалённо, скопируйте все показанные выше строки, включая $i++;
, и вставьте их в файл конфигурации: в конечном итоге, вы должны получить подобную группу строк для каждого сервера. Имейте в виду, что указанные вами пользователи MySQL должны обладать правами на удалённый доступ к соответствующим базам данных. Эти права (для каждой базы) должны быть предоставлены администратором ещё до подключения к базе.
Другие решения
Пакет MySQL Tools, предоставляемый самой MySQL AB (ныне приобретённой Sun), включает в себя MySQL Administrator и MySQL Query Browser - отдельные программы, которые также способны подключаться к удалённым хостам. В настоящее время инструмент миграции существует только для Windows.
Если на удалённом сервере, к которому вы подключаетесь, есть Webmin, вы можете воспользоваться его модулем конфигурации MySQL для управления базой данных. Однако имейте в виду, что вы не сможете осуществлять все действия по управлению базой данных с помощью одной этой программы - Webmin позволяет работать только лишь с сервером на этой же машине.
Наконец, для простых задач можно попробовать phpMinAdmin, которая является минималистической версией phpMyAdmin. Она меньше по размеру и даже немного быстрее, но её функциональность заметно урезана - вам наверняка придётся прибегать к SQL чаще, чем хотелось бы.
phpMyAdmin поддерживает три метода аутентификации ('auth_type'
в конфигурационном файле). Метод аутентификации "config
" - наиболее простой: он позволяет вам подключаться к серверу, не вводя вообще ничего, имя пользователя и пароль будут взяты непосредственно из файла конфигурации. (Другие два метода, "cookie
" и "http
", вынуждают вас вводить имя пользователя и пароль при каждом подключении к базе данных.) Этот метод нельзя назвать слишком безопасным, но поскольку вы будете работать с удалённым сервером со своей собственной машины, это не представляет собой особую проблему - предполагается, что сервер уже достаточно защищён. Тем не менее, при желании вы можете защитить свою инсталляцию phpMyAdmin, используя соответствующий файл
.htaccess.
Использование phpMyAdmin
Установив phpMyAdmin, при входе на стартовую страницу вы сможете выбрать сервер, с которым хотите поработать, из выпадающего списка. Все стандартные функции phpMyAdmin будут доступны, и единственное отличие, которое вы сможете заметить (сравнивая работу через phpMyAdmin с локальным подключением) - это небольшая задержка, вызванная передачей данных по сети. Вы сможете удалённо выполнять любые задачи администрирования, включая создание или изменение базы данных, её восстановление и выполнение запросов.
В сети можно найти массу документации по использованию phpMyAdmin - просто обратитесь к Google, а также можно приобрести книгу Mastering phpMyAdmin 2.8 for Effective MySQL Management, изданную Packt Publishing.
Итак, удалённо работать в базами MySQL очень просто, и вам даже не нужно ставить какие-то программы на другие серверы. phpMyAdmin предоставляет простой графический интерфейс, позволяющий выполнять большинство задач администрирования.