Работа с MySQL в OpenServer: ключевые особенности

Дата публикации: 26.12.2017

openserver-mysqlПриветствую вас, друзья! 🙂

Сегодня у нас на повестке дня снова любимая многими (и мной, в том числе) WAMP сборка OpenServer и MySQL, который входит в её комплект.

С данным ПО, а также его особенностями, я впервые познакомил читателей данного блога в одной из своих первых статей, посвящённой программам для создания сайтов.

Идея о создании сегодняшней статьи появилась у меня во время написания публикаций о работе с MySQL в консоли, при работе с которой у OpenServer есть свои тонкости.

Кроме того, на практике достаточно часто появляются ситуации, когда нужно изменить настройки MySQL сервера и произвести отладку операций с базой по логам. В таких случаях при работе с OpenServer у начинающих пользователей обычно возникает много вопросов (как у меня в своё время).

Поэтому сегодня вас будут ждать ответы на них 🙂

А также я кратенько пройдусь по инструментам для работы с БД MySQL в OpenServer, которые предоставляют удобный графический интерфейс для манипулирования данными, и краем слова затрону работу с MySQL в консоли OpenServer.

Одним словом, сегодня вас ждёт обзор полного цикла работы с MySQL при использовании OpenServer.

Поехали 🙂

Выбор версии MySQL в OpenServer

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

Это, нужно сказать, весьма удобно, т.к. в некоторых случаях нужно использовать устаревшее ПО для локального разворачивания legacy проектов (очень-очень старых), которые нужно саппортить.

И в то же время, для старта новых проектов необходимо будет использовать всё свеженькое 🙂

Вот тогда-то нам как раз и пригодится переключение версий MySQL, чтобы была возможность работать с различными проектами при использовании одного дистрибутива OpenServer, а не устанавливать под каждый отдельный.

Итак, чтобы выбрать необходимую версию MySQL в OpenServer, после запуска программы нажимаем на значок в трее и выбираем пункт главного меню Настройки:

openserver-nastrojki-mysql

http://cccp-blog.com/wp-includes/images/banners/templatemonster/banner_content_new.png

После этого на экране появится следующее окно, в котором нужно будет перейти на вкладку Модули:

openserver-mysql-vybor-versii

И здесь в выпадающем списке со значениями поля MySQL/MariaDB выбираем необходимую версию MySQL либо MariaDB, которая, как известно, является форком (от англ. fork — ответвление) MySQL, работа с которой ничем не отличается от своего родителя.

Даже инструменты одинаковые 🙂

После выбора версии на экране появится окно о перезагрузке OpenServer, которая нужна для того, чтобы изменения вступили в силу.

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

В данном меню, помимо выбора необходимой версии MySQL, можно, кстати, и вовсе отключить использование данной СУБД при работе с OpenServer. Как это сделано, например, с PostreSQL в OpenServer по умолчанию.

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

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

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

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

Поэтому, прошу учесть данный факт и не удивляться сбросу ваших настроек и пропаже БД. Однако, не волнуйтесь, ваши данные не пропали ,tccktlyj.

При выборе в качестве текущей версии MySQL той, которую вы тщательно настраивали и для которой создавали ваши базы, всё вернётся обратно 🙂

Настройки логов MySQL в OpenServer

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

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

Библиотека курсов

Для первого способа нужно открыть знакомое меню управления OpenServer кликом любой кнопкой мыши на значке OpenServer в трее и выбрать пункт Просмотр логов, после чего на экране появится следующее диалоговое окно:

openserver-mysql-logi-servera

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

Однако, что же делать, если нужен список SQL запросов к базам данных, расположенных на сервере?

Благо, что OpenServer предоставляет возможность расширенного логгирования, при активации которой запросы к БД будут писаться в отдельный лог.

Чтобы включить ведение логов запросов к серверу MySQL в OpenServer, нужно произвести знакомые уже нам сегодня действия: Меню управления OpenServer -> Настройки -> Модули.

И возле выпадающего списка со значениями поля MySQL/MariaDB устанавливаем галочку вести лог запросов:

openserver-mysql-rasshirennoe-loggirovanie

После установки галочки нужно сохранить настройки и подтвердить перезагрузку сервера, в результате чего у нас в окне с логами OpenServer добавляется ещё одна вкладочка с названием MySQL запросы:

openserver-mysql-logi-zaprosov

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

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

Просмотр логов MySQL через интерфейс OpenServer я вам продемонстрировал. Однако, лично я время от времени сталкиваюсь на практике с такими случаями, когда лог очень большой, и в нём необходимо отыскать определённую запись.

Тогда инструмент просмотра логов OpenServer становится бесполезным, т.к. никаких средств поиска он не предоставляет, а просматривать все записи в поисках нужно — занятие очень долгое и бесперспективное.

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

Файлы логов OpenServer, в том числе и MySQL, расположены в директории директория_установки_openserver/userdata/logs, которая в моём случае выглядит вот так:

openserver-mysql-logi-v-kataloge

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

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

Настройка MySQL в OpenServer

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

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

Чтобы получить доступ к конфигам MySQL, достаточно запустить знакомое меню управления OpenServer, выбрать пункт Дополнительно, а в выпадающем списке выбрать Конфигурация.

После этого появится ещё одно меню, в котором будут содержаться ярлыки для доступа к файлам конфигурации текущих модулей OpenServer, выбранных на вкладке Настройка, где мы меняли версию MySQL:

openserver-mysql-nastrojki-komponenta

При выборе ярлыка конфига MySQL откроется соответствующий файл в текстовом редакторе, установленном на вашем ПК в качестве основного.

Если же вам потребуется доступ к самому файлу конфигурации MySQL, то вы можете найти его в директории директория_установки_openserver/userdata/config, в которой расположены конфиги всех модулей OpenServer, причём, для каждой версии компонента конфиг отдельный.

При работе с конфигами серверных компонентов стоит учитывать, что для сокращения их текста и удобства использования в их тексте встречаются специальные переменные OpenServer, с полным списком и значениями которых вы можете ознакомиться здесь — https://ospanel.io/docs/#rabota-s-path

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

Инструменты для работы с MySQL в OpenServer

О выборе версий MySQL в OpenServer и их настройке мы поговорили. Теперь самое время перейти к работе с базами данных, пользователями и прочими объектами, создающимися на сервере MySQL.

А для этого в комплекте OpenServer существует целый набор инструментов, обладающих графическим интерфейсом. Поэтому, если вы не являетесь трушным кодером, но, тем не менее, вам нужно будет создать базу MySQL в OpenServer или поменять пароль пользователя, то использование графических редакторов — это самый лёгкий и простой способ сделать задуманное.

Ну, и консоль OpenServer никто не отменял для работы с командной строкой MySQL.

Визуальные инструменты представлены различными утилитами, доступ к которым можно получить из меню OpenServer, при выборе пункта Дополнительные:

openserver-mysql-graficheskie-instrumenty

На скриншоте выше я выделил утилиты для работы с MySQL, которые содержатся в OpenServer по умолчанию.

Первые две предназначены исключительно для работы с MySQL базами данных, а последняя является универсальной (через неё можно работать в различными СУБД).

Следовательно, при отключении использования модуля MySQL в OpenServer, phpMyAdmin и MySQL менеджер исчезнут из  данного списка вовсе, а SQLite менеджер останется, но работать с MySQL сервером через него будет невозможно.

Кратко рассмотрим каждый инструмент и особенности работы с ним в OpenServer.

phpMyAdmin

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

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

Честно говоря, я затрудняюсь ответить, от чего это зависит. На одном ПК у меня phpMyAdmin из комплекта OpenServer запускается в открытом окне, а на другом — в отдельном.

После успешного запуска phpMyAdmin  будет выглядеть так:

openserver-mysql-phpmyadmin-privetstvie

Это стартовый экран, на котором нужно ввести имя пользователя MySQL и его пароль для подключения к серверу. По умолчанию (если кто не в курсе) админская учётка root/пустой_пароль.

Вводим, входим, работаем 🙂

openserver-mysql-phpmyadmin-interfejs

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

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

Ошибка

SQL запрос: SET lc_messages = 'ru_RU';

Ответ MySQL: #1193 - Unknown system variable 'lc_messages'

Причиной её возникновения стал выбор версии MySQL 5.1, в которой, как выяснилось после изучения статей в Интернете, отсутствует системная переменная lc_messages, установку которой phpMyAdmin пытается произвести.

Она появилась в MySQL 5.5, при установке которой, по идее, проблема должна была исчезнуть… Однако, ничего подобного, к моему великому удивлению, не произошло 🙂

После изменения версии MySQL и перезапуска сервера ошибка продолжала раздражать своим наличием.

Причина оказалась в банальном кэше браузера, при очистке которого phpMyAdmin заработал в штатном режиме.

Если же мои рекомендации в вашем случае не помогут, то можете воспользоваться этим советом — https://github.com/phpmyadmin/phpmyadmin/issues/12822.

phpMyAdmin — штука удобная для работы с локальным MySQL сервером.

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

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

MySQL менеджер

При выборе пункта меню OpenServer MySQL менеджер запускается программа HeidiSQL, с детальным описанием которой можете здесь — https://www.heidisql.com/

Не знаю, почему его переименовали, видимо, для упрощённого понимания пользователей, что их ждёт после запуска 🙂

Данной утилитой я сам активно пользуюсь на своей основной работе, чтобы не устанавливать различное дополнительное ПО. Запустить её можно из того же пункта меню OpenServer, что и phpMyAdmin.

Запуск HeidiSQL немного отличается от phpMyAdmin по той причине, что это desktop программа, а не веб-приложение, поэтому оно всегда будет открываться в отдельном окне.

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

openserver-mysql-menedzher-soedinenie

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

openserver-mysql-menedzher-interfejs

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

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

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

Но лично я использую MySQL менеджер OpenServer только для удалённых подключений. С локальным сервером предпочитаю всё-таки больше первый вариант.

SQLite менеджер

Ещё один графический клиент для работы с MySQL в OpenServer. Под данным названием, как и в предыдущем случае, скрывается утилита с совершенно другим названием — Adminer, с детальным описанием которой можете познакомиться здесь — https://www.adminer.org.

Возможно, старожилам Интернетов данная утилита будет знакома ещё по названию phpMinAdmin 🙂

Создатели OpenServer решили переименовать её в SQLite менеджер, скорее всего, из соображений, что данная утилита единственная из всего комплекта OpenServer, которая позволяет работать с СУБД SQLite, которая всё ещё пользуется определённым спросом в узких кругах.

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

На экране сперва вы увидите форму соединения, которая выглядит так:

openserver-mysql-sqlite-menedzher-avtorizaciya

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

  1. PostgreSQL
  2. SQLite
  3. MS SQL
  4. Oracle
  5. Firebird
  6. SimpleDB
  7. Elasticsearch
  8. MongoDB

Список очень солидный, должен сказать 🙂 Кроме этих преимуществ у данной программы есть ещё и возможность легко и просто менять скины, которые оформлены обычными CSS файлами, следовательно, править их может любой желающий, который хоть немного обладает знаниями данного языка.

Вот так выглядит панель управления сервером MySQL в Adminer после подключения к нему с использованием default скина:

openserver-mysql-sqlite-menedzher-rabota-s-serverom

Да, согласен, выглядит простовато, но зато и работает быстрее phpMyAdmin, с которым очень любят сравнивать своё произведение создатели экс-phpMinAdmin. Но опять же, это при настройках по умолчанию.

Как я уже и говорил, всё это решается сменой скинов.

Работа с MySQL в консоли OpenServer

Инструменты, предоставляющие графический интерфейс для работы с MySQL, и которые входят в комплект OpenServer, мы с вами рассмотрели.

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

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

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

openserver-konsol-zapusk-komandnoj-stroki-mysql

Либо можете воспользоваться ещё какой-либо другой (например, встроенной в IDE).

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

Для этого в консоли переходим в каталог с необходимым дистрибутивом MySQL из поставки OpenServer с помощью следующей команды:


cd директория_установки_openserver/modules/database/MySQL-5.7-x64/bin

Директорию установки OpenServer и дистрибутив MySQL пропишите актуальные в вашем конкретном случае.

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

Протестить возможность их успешного запуска можете командой, проверяющей версию MySQL:


mysql -V

Со списком остальных команд консоли MySQL вы можете в статье по предоставленной ссылке.

На этом сегодняшняя публикация о работе с MySQL в OpenServer подходит к концу. Я постарался осветить все основные моменты, которые могут возникнуть в процессе работы, а что у меня из этого вышло — решать вам.

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

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

P.S. не жалейте денег, они обязательно к вам вернутся и даже в бОльшей степени, если вы потратите их с чистым сердцем. Это я уже проверил на себе 🙂

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

И ещё… Пишите ваши отзывы в комментариях: что понравилось, что нет, о чём хотели бы прочитать ещё. Я всегда открыт для ваших предложений 🙂

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

Всем удачи и до новых встреч! 🙂

P.S.: если вам нужен сайт, но нет времени самостоятельно его разрабатывать, могу порекомендовать вам своего проверенного партнёра - вебстудию Дениса Нихаева. Было не просто, но я всё-таки выбил для вас скидку 20%, что составит до 20 тысяч рублей в зависимости от выбираемого тарифа 🙂 Вот промо код - CCCP. При заказе сообщите его и скидка вам гарантирована! Друзьям тоже можете рассказать 😉

Понравилась статья? Поделись с друзьями:
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
12 голосов, в среднем: 4.7 из 5

Похожие темы

5 комментариев к статье "Работа с MySQL в OpenServer: ключевые особенности"

  1. Ника

    Благодарю за публикацию!
    Вы не могли бы подсказать, в Опенсервере переключила версии Apache/PHP/MySQl и теперь не могу подключиться к базе данных , сброс настроек не помогает, сайты не работают. Пишут ошибку к базе MySQl. Попыталась вернуть изначальное положение, но толком не помню какие именно стояли данные. На данный момент установила такие:
    Apache 2.4 /PHP 5.5MySQl 5.6 (такие Apache 2.4 /PHP 5.6 MySQl 5.5/7/х64) — сайты не работают.
    На опенсервере находятся сайты на джумла версий от трех, чтот осовсем старое 1.7, html,php-файлы -все работало, сейчас не могу войти в базу данных.
    Подскажите чайнику пожалуйста, можно ли что либо исправить.

    1. Pashaster Автор

      Добрый день. У OpenServer есть такая особенность: базы данных сайта создаются для каждой версии MySQL отдельно. Т.е. если вы создали базу my_site при включённой версии MySQL 5.6, то при смене версии на MySQL 5.5 база данных не будет доступна, т.к. даже физически файл с ней будет находиться в другой директории на диске.

      Чтобы решить возникшую проблему, Вам для начала нужно найти на какой версии MySQL Вы создали базу для Вашего сайта. Способа два:

      • Менять версии MySQL в настройках OpenServer и мониторить, при какой опции в phpMyAdmin или другом клиенте появится Ваша пропавшая база.
      • Найти каталог с файлами базы вручную в папках C:\OSPanel\userdata\MySQL-x — вместо x будет версия MySQL. Для удобства можно воспользоваться поиском по имени вашей БД (если помните). Внутри какого каталога найдёте свою БД — такую версию MySQL и ставьте в настройках OpenServer — всё просто 🙂

      Ну, а версию PHP и Apache подбирайте уже такую, какая будет совместима с выбранной версией MySQL. А лучше всего изучать технические требования для используемой для сайтов CMS необходимой версии.

      Надеюсь, помог 😉

  2. Владимир

    Добрый день.
    А как войти первый раз в Adminer? Требует имя и пароль

    1. Pashaster Автор

      Для MySQL сервера — пользователь root, пароль пустой. Для PostgeSQL — пользователь postgres, пароль тоже пустой.

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

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