Как создать базу данных phpmyadmin ubuntu

Обновлено: 02.07.2024

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

phpMyAdmin был создан, чтобы пользователи могли взаимодействовать с MySQL через веб-интерфейс. В этом руководстве мы расскажем, как выполнить установку и обеспечить безопасность phpMyAdmin, чтобы вы могли безопасно использовать данный инструмент для управления своими базами данных в Ubuntu 18.04.

Предварительные требования

Прежде чем приступить к изучению данного руководства, вам нужно выполнить несколько базовых действий.

Во-первых, мы полагаем, что ваш сервер имеет пользователя user без root прав с привилегиями sudo , а также брандмауэр с ufw , как указано в руководстве по начальной настройке сервера для Ubuntu 18.04.

Мы также предполагаем, что вы выполнили установку LAMP (Linux, Apache, MySQL и PHP) на вашем сервере с Ubuntu 18.04. Если вы еще не сделали этого, вы можете воспользоваться данным руководством по установке стека LAMP на Ubuntu 18.04.

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

  • напрямую связывается с установленной у вас версией MySQL;
  • управляет аутентификацией, используя учетные данные MySQL;
  • исполняет и возвращает результаты для произвольных SQL запросов.

После завершения этих шагов вы будете готовы начать работу с данным руководством.

Шаг 1 — Установка phpMyAdmin

Во-первых, мы установим phpMyAdmin из репозиториев Ubuntu по умолчанию.

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

На этом этапе вам потребуется ответить на несколько вопросов для корректной настройки установки.

Предупреждение. При появлении первого диалогового окна вариант «apache2» выделен, но не выбран. Если вы не нажмете ПРОБЕЛ для выбора Apache, установщик не будет перемещать необходимые файлы при установке. Нажмите ПРОБЕЛ, затем TAB, а потом ENTER для выбора Apache.

  • Для выбора сервера нажмите apache2
  • Выберите Да при ответе на вопрос о том, необходимо ли использовать dbconfig-common для настройки базы данных.
  • Затем вам будет предложено выбрать и подтвердить пароль приложения MySQL для phpMyAdmin

В процессе установки будет добавлен файл конфигурации phpMyAdmin в каталог /etc/apache2/-enabled/ , где он будет считываться автоматически. От вас потребуется только явным образом активировать PHP расширение mbstring , что можно сделать с помощью следующей команды:

Перезапустите Apache для вступления изменений в силу.

После этого phpMyAdmin будет установлен и настроен. Однако, прежде чем вы сможете войти и начать взаимодействие с базами данных MySQL, вам нужно убедиться, что у пользователей MySQL есть права, необходимые для взаимодействия с программой.

Шаг 2 — Настройка аутентификации и прав пользователя

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

Настройка доступа по паролю для учетной записи root в MySQL

В системах Ubuntu при запуске MySQL 5.7 (и более поздние версии) для root пользователя MySQL по умолчанию устанавливается аутентификация с помощью плагина auth_socket , а не пароля. Это позволяет обеспечить большую безопасность и удобство во многих случаях, однако это также может осложнить ситуацию, когда вам нужно предоставить внешней программе, например, phpMyAdmin, доступ к пользователю.

Чтобы войти в phpMyAdmin с root пользователем MySQL, вам нужно переключить метод аутентификации с auth_socket на mysql_native_password , если вы еще не сделали этого. Для этого откройте командную строку MySQL через терминал:

Затем проверьте, какой метод аутентификации используют ваши аккаунты пользователей MySQL с помощью следующей команды:

В этом примере вы можете видеть, что root пользователь действительно использует метод аутентификации с помощью плагина auth_socket . Чтобы настроить для учетной записи root аутентификацию с помощью пароля, выполните следующую команду ALTER USER . Обязательно измените значение password на надежный пароль по вашему выбору:

Затем выполните команду FLUSH PRIVILEGES , которая просит сервер перезагрузить предоставленные таблицы и ввести в действие изменения:

Проверьте методы аутентификации, применяемые для каждого из ваших пользователей, чтобы подтвердить, что root пользователь больше не использует для аутентификации плагин auth_socket :

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

Настройка доступа по паролю для выделенного пользователя MySQL

Некоторые могут посчитать, что для их рабочего процесса лучше подходит подключение к phpMyAdmin с помощью специально выделенного пользователя. Чтобы сделать это, снова откройте командную строку MySQL:

Примечание. Если вы активировали аутентификацию по паролю, как указано в предыдущем разделе, вам потребуются другие команды для доступа к командной строке MySQL. Следующая команда будет запускать ваш клиент MySQL с обычными правами пользователя, и вы получите права администратора внутри базы данных только с помощью аутентификации:

Создайте нового пользователя и придумайте для него надежный пароль:

Затем предоставьте вашему новому пользователю соответствующие права. Например, вы можете предоставить пользователю права доступа ко всем таблицам в базе данных, а также можете добавлять, изменять и удалять права пользователя с помощью этой команды:

После этого закройте командную строку MySQL:

Теперь вы можете получить доступ к веб-интерфейсу, набрав доменное имя или открытый IP-адрес вашего сервера и добавив /phpmyadmin:

phpMyAdmin login screen

Выполните вход в интерфейс с помощью root пользователя или с новым именем пользователя и паролем, которые вы только что задали.

При входе вы увидите пользовательский интерфейс, который будет выглядеть следующим образом:

phpMyAdmin user interface

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

Шаг 3 — Обеспечение безопасности phpMyAdmin

Из-за своей вездесущности phpMyAdmin часто становится мишенью для атак, поэтому вам нужно дополнительно позаботиться о предотвращении несанкционированного доступа. Один из самых простых способов – поместить шлюз перед всем приложением, используя встроенный в Apache метод аутентификации .htaccess​​​ и функции авторизации.

Чтобы сделать это, вы должны сначала активировать перезапись файла .htaccess , изменив файл конфигурации Apache.

Отредактируйте связанный файл, помещенный в каталог конфигурации Apache:

Добавьте директиву AllowOverride All в раздел файла конфигурации <Directory /usr/share/phpmyadmin> , например:

После добавления этой строки сохраните и закройте файл.

Перезапустите Apache, чтобы изменения вступили в силу.

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

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

В этом файле введите следующую информацию:

Вот что означает каждая из этих строк:

После завершения редактирования сохраните и закройте файл.

Вы использовали следующее местонахождение для вашего файла пароля /etc/phpmyadmin/.htpasswd . Теперь вы можете создать этот файл и передать его для первоначального пользователя с помощью утилиты htpasswd :

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

Если вы хотите ввести дополнительного пользователя, вам нужно сделать это без флага -c , например:

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

phpMyAdmin apache password

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

Заключение

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

В данных примерах используется командная оболочка mysql и phpMyAdmin.

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

Подключение к СУБД

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

а) В Linux вводим команду:

* где root — пользователь, под которым мы будем подключаться к оболочке; ключ -p потребует ввода пароля.

б) В Windows запускаем командную строку — в меню пуск или найдя ее в поиске. Переходим в каталог, с установленной СУБД и запускаем одноименную команду mysql, например:

cd "%ProgramFiles%\MySQL\MySQL Server 5.5\bin\"

* в данном примере предполагается, что у нас установлена MySQL версии 5.5.

* здесь, как и в Linux, идет подключение к mysql/mariadb под учетной записью root с запросом пароля.

Создание новой базы

Для создания базы используется SQL-запрос CREATE DATABASE. Рассмотрим подробнее его использование.

Командная строка

Используйте данный шаблон команды:

> CREATE DATABASE newdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

* вышеописанная команда создаст базу данных с названием newdb и кодировкой UTF-8 (самая распространенная и универсальная).

Проверить, что база появилась можно командой:

* данная команда выводит в консоль список баз, созданных в СУБД.

Подключиться к базе можно командой:

phpMyAdmin

В phpMyAdmin переходим в раздел Базы данных - вводим название новой базы - выбираем кодировку и нажимаем Создать:

Создаем базу данных в phpMyAdmin

Настройка прав доступа

Чтобы к созданной базе можно было подключиться, добавим пользователя:

* где newdb.* — наша база и все ее таблицы; dbuser@localhost — имя учетной записи, которая будет подключаться с локального сервера; password — придуманный нами пароль.
** В данном примере, учетной записи будут предоставлены полные права (ALL PRIVILEGES). Подробнее о правах в MySQL читайте статью Как создать пользователя MySQL и дать ему права.

Посмотреть список пользователей, которые имеют доступ к базе можно командой:

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

Поменять пароль пользователю можно одной из команд (в зависимости от версии СУБД):

* все 3 команды меняют пароль для пользователя dbuser@localhost на новый — new_password.

При необходимости, удалить пользователя можно командами:

* первая команда отнимает все привилегии, выданные пользователю. Вторая удаляет самого пользователя.

Далее научимся создавать связи между таблицами в базе данных MySQL с помощью phpmyadmin. Если по какой-то причине вы не желаете использовать phpmyadmin, смотрите приведенные ниже SQL-запросы.

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

Например, можно запретить удалять категорию, если с ней связана хотя б одна заметка. Или удалить все заметки, если удалена категория. Или установить NULL в связующее поле. В любом случае, с помощью связей повышается отказоустойчивость и надежность приложения.

Для начала, движок таблиц должен быть InnoDB . Только он поддерживает внешние ключи ( foreign key ). Если у вас таблицы MyISAM , почитайте как их конвертировать в InnoDB .

Для того, чтобы связать таблицы по полям, необходимо сначала добавить в индекс связываемые поля:

В phpmyadmin выбираем таблицу Country , выбираем режим структуры, выделяем поле Id_Continent, для которого будем делать внешнюю связь и кликаем Индекс.

Добавляем индекс

Обратите внимание на разницу между "Индекс" и "Уникальный". Уникальный индекс можно использовать, например, до поля id, то есть там, где значения не повторяются.

Это же действие можно сделать с помощью SQL-запроса:

Аналогично добавляем индекс для поля Id_Language таблицы Country .

Аналогично можно добавить индекс (только в моем случае теперь уже уникальный или первичный) для таблицы, на которую ссылаемся, для поля id. Поскольку поле id у меня идентификатор, для него делаем первичный ключ. Уникальный ключ мог бы понадобится для других уникальных полей. Но так как мы его уже создали, принимаем информацию к сведению и идём дальше

index MySQL

С помощью SQL-запроса:

Теперь осталось только связать таблицы. Для этого кликаем внизу на пункт Связи:

Открываем окно СВЯЗИ

Теперь для доступных полей (а доступны только проиндексированные поля) выбираем связь с внешними таблицами и действия при изменении записей в таблицах:

Всем привет! В одной из недавних статей я рассказал об установке LAMP на Ubuntu — локального сервера для Linux. К сожалению, средство администрирования баз данных phpMyAdmin не входит в набор инструментов LAMP, поэтому устанавливается отдельно. Из этой статьи вы узнаете, как пользоваться phpMyAdmin.

Как пользоваться phpMyAdmin

Установка phpMyAdmin на Ubuntu

Очень часто phpMyAdmin (PMA) встречается на платных хостингах и используется для создания и администрирования баз данных (БД) сайтов. Устанавливать ее на платный хостинг не надо — там уже все сделано до вас. Чаще всего вы будете сталкиваться с установкой PMA на свой компьютер для администрирования баз данных локального сервера. В качестве примера я рассмотрю установку phpMyAdmin на Ubuntu — один из самых популярных дистрибутивов Linux.

Откройте терминал и введите следующую команду:

ввод команды

После этого введите пароль администратора и согласитесь с продолжением установки.

Выбор веб-сервера

Выберете веб-сервер, который автоматически будет настроен для запуска PMA. В нашем случае это apache2.

Настройка БД для phpMyAdmin

Соглашайтесь настроить БД с помощью dbconfig-common.

Пароль администратора БД

Введите пароль администратора MySQL.

введение пароля от MySQL

phpMyAdmin не работает

Если перейдя по этому адрес, вы увидите страницу с ошибкой, то можно сделать следующее.

    введите в терминале команду:

вход в админку phpMyAdmin

Пользователь будет root , а пароль вы задали при установке .

Создание новой базы данных

Пройдя аутентификацию, мы попадаем на стартовую страничку PMA, на которой можно выбрать язык интерфейса, если вы ранее этого еще не сделали, посмотреть информацию о системе управления базами данных MySQL и используемом веб-сервере. В левом же столбике представлены все имеющиеся БД.

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

Создание базы данных в phpmyadmin

Достаточно ввести название новой БД и кликнуть на кнопку «Создать» — все остальное phpMyAdmin сделает автоматически.

Успешное создание БД

Добавление нового пользователя БД

Создав новую БД, необходимо еще и добавить пользователя, который бы мог ей пользоваться.

Проверить привилегии

Для этого кликните на надписи «Проверить привилегии». Вас перебросит на страницу «Пользователи с правами доступа к БД», на которой следует кликнуть на «Добавить нового пользователя».

В разделе «Информация учетной записи» укажите имя пользователя (английскими буквами), хост (на локальном сервере — localhost) и пароль.

Глобальные привилегии пользователя

Чуть ниже необходимо задать привилегии для нового пользователя. На локальном сервере можно не задумываясь отметить все пункты галочками. После этого следует нажать на кнопку «ОК» в самом низу и новый пользователь будет создан.

Импорт и экспорт баз данных

Для создания бэкапа (резервной копии) базы данных служит раздел «Экспорт».

Экспорт БД

В случае «быстрого» способа экспорта будут созданы бэкапы сразу всех доступных баз данных в формате, выбранном ниже.

обычный экспорт базы данных в phpmyadmin

Если необходимо создать резервную копию какой-то одной БД, то следует воспользоваться «обычным способом». В этом случае выберете нужную БД и в самом конце странице нажмите ОК.

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

Удаление БД

  1. Удалить поврежденную БД. Для этого перейдите на закладку «Базы данных», отметьте поврежденную БД и нажмите «Удалить»:
  2. Загрузить (импортировать) рабочую версию БД. На вкладке «Импорт» нажмите кнопку Browse. (обзор), найдите файл бэкапа на своем компьютере и нажмите «ОК» в конце страницы.

Импорт БД

На этом все. Как-то мало текста, но много картинок в статье получилось. Наверное, так и должно быть, ведь работать с phpMyAdmin не так сложно — главное знать, где и что находится, а это лучше всего показать на картинках.

Подписывайтесь на ленту новостей блога, чтобы всегда быть в курсе новых статей. Берегите себя!

Тогда ты просто обязан уметь работать с основными инструментами веб-мастера!

Где купить хостинг и домен? Как редактировать картинки? Как зайти на сервер, загрузить на ftp файлы и поменять права доступа? Как сменить кодировку? Обо всем этом и многом другом ты можешь узнать из бесплатного видеокурса "Инструменты Веб-мастера".

Лучший способ выразить благодарность автору - поделиться с друзьями!

Узнавайте о появлении нового материала первым! Подпишитесь на обновления по email:

Читайте также: