# MySQL ## Разворачивание СУБД Для развертывания СУБД MySQL вам потребуется выполнить следующие шаги: ### 1. Создать приложение с подходящим тарифом. ```{eval-rst} .. admonition:: Внимание :class: attention Стабильная работа возможна на тарифах не ниже "Начальный". ``` ### 2. На этапе "Загрузка данных" выбрать "Через Git" ![db_create](../img/db_create.png) ### 3. На этапе "Конфигурация" выбрать "db" и "mysql" и нажать "Завершить" ![db_create](../img/mysql.png) При развертывании используется образ Docker `mysql:${meta.toolchain.version}`. Параметр `meta.toolchain.version` необязательный. Если его не указать, будет использоваться последний образ `mysql:latest`. Так как значение параметра `meta.toolchain.version` является тегом образа mysql, можно в качестве его значения использовать произвольный тег из [докер хаба](https://hub.docker.com/_/mysql/tags). ### 4. Указать необходимые параметры окружения. В разделе "Переменные" у проекта необходимо задать следующие [переменные окружения](../applications/configuration/variables.md): * Для добавления пароля пользователя `root` и безопасного его хранения требуется нажать на кнопку "Создать секрет". В поле "Название" указать `MYSQL_ROOT_PASSWORD`, а в поле значение вписать желаемый пароль. * Дополнительно можно создать и другого пользователя с правами `superuser`, для этого необходимо указать имя пользователя в переменную `MYSQL_USER`, а пароль в секрет `MYSQL_PASSWORD`. ```{eval-rst} .. admonition:: Важно :class: warning Придумать достаточно сложный пароль для базы данных, чтобы злоумышленники не смогли получить к ней доступ. ``` При необходимости, можно задать и другие поддерживаемые образом параметры. Более подробно об этих параметрах можно узнать на [странице образа](https://hub.docker.com/_/mongo). ### 5. На странице "Конфигурация" приложения нажать кнопку "Собрать" Если конфигурация оказалась пустой, необходимо снова выбрать "db" и "mongodb" и нажать "применить", после чего "собрать". ## Подключение к БД ```{eval-rst} .. admonition:: Внимание :class: attention Подключение к базе данных возможно только из других проектов, созданных в Amvera. ``` Для подключения к базе данных необходимо использовать `3306` порт и внутреннее доменное имя, указанное на странице "Инфо" в формате: `amvera-<имя-пользователя>-run-<транслитерированное-имя-проекта>` ## Развертывание phpMyAdmin Порядок действий совпадает с развертыванием самой СУБД: ### 1. Создать приложение с подходящим тарифом. ```{eval-rst} .. admonition:: Внимание :class: attention Для работы phpMyAdmin требуется контейнер с тарифом не ниже "Начальный". ``` ### 2. На этапе "Загрузка данных" выбрать "Через Git" ![db_create](../img/db_create.png) ### 3. На этапе "Конфигурация" выбрать "db" и "phpmyadmin" и нажать "Завершить" При развертывании используется [образ](https://hub.docker.com/_/phpmyadmin) Docker `phpmyadmin:${meta.toolchain.version}` ### 4. Указать необходимые параметры окружения. В разделе "Переменные" у проекта необходимо задать следующие [переменные окружения](../applications/configuration/variables.md): * Переменная `PMA_ABSOLUTE_URI` - ссылка на приложение (в формате `https://<транслитерированное-имя-проекта>-<имя-пользователя>.amvera.io` * Переменная PMA_ARBITRARY, установленная в 1 ![phpMyAdmin](../img/phpMyAdmin.png) ### 5. На странице "Конфигурация" приложения нажать кнопку "Собрать" Если конфигурация оказалась пустой, необходимо снова выбрать "db" и "phpmyadmin" и нажать "применить", после чего "собрать". ### 6. В разделе "Настройки" приложения активируем [бесплатное доменное имя](../applications/configuration/network.md#бесплатное-доменное-имя-амвера) или [добавляем свое](../applications/configuration/network.md#свое-доменное-имя). ![db_create](../img/pgadmin_domain.png) ```{eval-rst} .. admonition:: Хитрость :class: hint Чтобы экономить на потреблении проекта с mongo-express рекомендуем ставить его на паузу после окончания работы. ``` ## Видеопример как использовать MySQL и phpMyAdmin в Amvera Cloud ```{eval-rst} .. youtube:: ofkja-vNxuo :align: center :width: 100% ``` В этом видео мы рассмотрим, как использовать базу данных MySQL в Amvera Cloud: - Как развернуть базу данных MySQL - Как подключаться к базе данных MySQL из других приложений - Как использовать phpMyAdmin для управления базами данных MySQL Таймкоды: - 00:00 Интро - 00:34 Развертывание MySQL - 01:28 Развертывание phpMyAdmin - 02:47 Подключение к БД из другого проекта - 05:04 Проверка работоспособности