Перейти к содержимому

Как установить базу данных mysql на хостинг beget

  • автор:

Использование MySQL на отдельном сервере с приватной сетью VPS

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

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

Ниже мы приведём пример разворачивания такого проекта — мы будем устанавливать WordPress с подключением базы данных на другом сервере. Для этого мы используем два сервера с Ubuntu 20.04.

Подготовка серверов

  • Перейдите в Панель Управления аккаунтом и создайте два VPS. Подробнее о создании сервера Вы можете прочитать здесь.
  • На первый сервер установите Ubuntu 20.04 и LEMP-стек. Далее мы будем обозначать этот сервер как VPS 1, на нём будет располагаться веб-сервер. На второй сервер установите Ubuntu 20.04 — мы будем обозначать его как VPS 2, на нём будет располагаться база данных.
  • Подключите VPS 1 и VPS 2 к приватной сети по инструкции «Как подключить VPS к приватной сети».

Установка MySQL-сервера

  • Подключитесь по протоколу SSH к VPS 2, используя его внешний IP. Подробнее этот процесс описан в нашей статье.
  • Установите на сервер MySQL. Вы можете сделать это с помощью команд:
sudo apt-get update sudo apt-get install mysql-server
  • Установите root-пароль для MySQL. Для этого используйте клиент MySQL. Подключитесь к серверу:
mysql -u root
  • Выполните команду изменения доступа к серверу, где MyNewPass — выбранный Вами пароль:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
  • Отправьте команду MySQL-серверу для того, чтобы он переприменил настройки доступа:
mysql> FLUSH PRIVILEGES;

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

  • Перейдите в конфигурационный файл MySQL:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

В этом файле найдите раздел [mysqld] и измените в нём значения bind-address и mysqlx-bind-address , указав вместо 127.0.0.1 IP-адрес VPS 2 во внутренней сети. В нашем примере этот раздел выглядит следующим образом:

[mysqld] # # * Basic Settings # user = mysql # pid-file = /var/run/mysqld/mysqld.pid # socket = /var/run/mysqld/mysqld.sock # port = 3306 # datadir = /var/lib/mysql # If MySQL is running as a replication slave, this should be # changed. Ref https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_tmpdir # tmpdir = /tmp # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 10.16.0.3 mysqlx-bind-address = 10.16.0.3
  • Сохраните и закройте файл. Перезапустите MySQL-сервер командой:
sudo systemctl restart mysql
  • Подключитесь к MySQL. Для этого введите команду:
mysql -u root -p

Если ранее Вы не устанавливали root-пароль для MySQL, то в ответ на запрос пароля потребуется просто нажать Enter. После успешного подключения Вы увидите в терминале приглашение ко вводу данных.

  • Создайте БД для проекта. Укажите имя БД. Например, в нашем примере БД будет названа beget_test :
CREATE DATABASE beget_test;
  • Далее потребуется создать два пользователя для только что созданной БД: для локального и для удалённого подключения. Начнём с создания локального пользователя.

Вам потребуется придумать имя пользователя и пароль. В нашем примере имя пользователя — begetuser , пароль для него — testpassword .

CREATE USER 'begetuser'@'localhost' IDENTIFIED BY 'testpassword';
  • Присвойте пользователю права на любые изменения в базе данных:
GRANT ALL PRIVILEGES ON beget_test.* TO 'begetuser'@'localhost';
  • Создайте пользователя для удалённого подключения. В качестве хоста укажите приватный IP, присвоенный VPS 1.

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

Вы можете использовать те же логин и пароль, которые устанавливали для локального пользователя. В нашем случае имя пользователя — так же begetuser , IP, с которого будет производиться подключение к БД — 10.16.0.2, пароль для пользователя — testpassword .

CREATE USER 'begetuser'@'10.16.0.2' IDENTIFIED BY 'testpassword';
  • Этому пользователю также нужно выдать права на любые изменения в базе данных:
GRANT ALL PRIVILEGES ON beget_test.* TO 'begetuser'@'10.16.0.2';
  • Чтобы изменения вступили в силу, обновите привилегии для пользователей:
FLUSH PRIVILEGES;

Пользователи созданы. Теперь Вы можете выйти из MySQL при помощи команды exit.

Проверка подключения к MySQL-серверу

  • Протестируйте локальное подключение к базе:
mysql -u begetuser -p

Если подключение прошло успешно, Вы можете выйти из MySQL при помощи команды exit.

  • Проверьте, что удалённое подключение также работает корректно. Перейдите на VPS 1 и подключитесь к БД, находящейся на VPS 2:
mysql -u begetuser -h 10.16.0.3 -p

После ключа — h укажите приватный IP VPS 2.

Если возникнет такая ошибка:

ERROR 1130 (HY000): Host '10.16.0.2' is not allowed to connect to this MySQL server

вероятнее всего, в конфигурации MySQL на стороне VPS 2 не был изменен конфигурационный файл или не перезапущен сервер MySQL.

Установка WordPress

  • После предыдущего шага останьтесь на VPS 1 и скачайте установочный пакет WordPress с официального сайта с помощью команды:
curl -O https://wordpress.org/latest.tar.gz
  • Распакуйте архив:
tar xzvf latest.tar.gz
  • Создайте копию конфигурационного файла и переименуйте её, чтобы WordPress смог её обработать:
cp wordpress/wp-config-sample.php wordpress/wp-config.php
  • Откройте конфигурационный файл WordPress и укажите данные для подключения к базе:
nano wordpress/wp-config.php

Что указывать в переменных:

  • DB_NAME — имя базы данных;
  • DB_USER — имя пользователя MySQL для удалённого подключения;
  • DB_PASSWORD — пароль от базы данных;
  • DB_HOST — приватный IP VPS 2.
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'beget_test' ); /** MySQL database username */ define( 'DB_USER', 'begetuser' ); /** MySQL database password */ define( 'DB_PASSWORD', 'testpassword' ); /** MySQL hostname */ define( 'DB_HOST', '10.16.0.3' ); /** Database charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8' ); /** The database collate type. Don't change this if in doubt. */ define( 'DB_COLLATE', '' );

Сохраните и закройте файл.

  • Скопируйте папку с файлами WordPress в корневую папку nginx:
sudo cp -a wordpress/* /var/www/html
  • Измените владельца файлов на www-data, чтобы Nginx смог корректно их обрабатывать:
sudo chown -R www-data:www-data /var/www/html
  • Перейдите в файл /etc/nginx/sites-enabled/default и добавьте index.php в строку под комментарием:
# Add index.php to the list if you are using PHP

Должно получиться вот так:

# Add index.php to the list if you are using PHP index index.php index.html index.htm index.nginx-debian.html;

После этого используйте команду systemctl restart nginx, чтобы перезагрузить Nginx.

  • Откройте браузер и перейдите по адресу http://внешний-ip-vps1/wp-admin/install.php . Вы можете увидеть внешний IP VPS 1 в Панели управления аккаунтом, выбрав нужный VPS из списка слева.

Откроется страница установщика WordPress.

  • Выберите язык установки, нажмите «Продолжить» и заполните данные в появившейся форме. Не забудьте скопировать пароль от панели администратора сайта!

  • Нажмите на кнопку «Войти» и введите имя пользователя и пароль, указанные Вами на предыдущем шаге.

  • Готово! Проект развёрнут.

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

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

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

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

Что такое импорт базы данных MySQL

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

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

Что такое экспорт базы данных MySQL

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

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

При экспорте необходимо указать формат файла, в который будут сохранены данные (например, SQL, CSV, XML и др.). Кроме того, дополнительно можно задать необходимые параметры, такие как выбор конкретных таблиц для экспорта или указание определенных условий для выборки данных.

Для чего нужен импорт и экспорт базы данных MySQL

Безопасное резервное копирование – импорт и экспорт базы данных MySQL позволяют создавать копии данных, чтобы в случае сбоев или ошибок можно было восстановить их.

  • Перенос данных с одного сервера на другой или между разными средами.
  • Обмен данными с другими приложениями или системами с целью упрощения совместной работы и интеграции.
  • Обновление и установка новых версий базы данных.
  • Тестирование и разработка – импорт и экспорт базы данных MySQL дают возможность создавать копии баз данных для тестирования или разработки, не затрагивая рабочие данные на production-базе.
  • Миграция на другую платформу или систему.
  • Работа с отдельными таблицами – например, для перемещения отдельных таблиц или данных внутри базы данных.
  • Консолидация данных – импорт и экспорт базы данных MySQL могут использоваться для объединения данных из разных источников в единую базу данных.
  • Синхронизация баз данных между различными экземплярами базы данных.

Теперь перейдем к самим инструкциям по импорту и экспорту базы данных MySQL через phpMyAdmin и терминал.

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

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

Откройте раздел MySQL в панели управления.

С правой стороны от названия вашей базы данных нажмите на значок

Примечание!

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

Экспорт базы данных в MySQL через phpMyAdmin

Если вам необходимо экспортировать базу данных, то перейдите во вкладку «Экспорт»:

Далее вам нужно выбрать один из методов экспорта:

  • Быстрый – если нужно экспортировать базу данных с минимальным количеством настроек.
  • Обычный – если нужно экспортировать базу данных с определенными настройками, такими как: сжатие, кодировка, операторы.

После выбора метода нажмите на кнопку «Вперед» для начала экспорта:

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

Импорт базы данных в MySQL через phpMyAdmin

Если вам необходимо импортировать базу, то перейдите во вкладку «Импорт»:

Выберите необходимый файл для загрузки, он может быть сжат в архив (gzip, bzip2, zip) или находиться без сжатия, после нажмите на кнопку «Вперед» для начала импорта:

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

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

Для выполнения импорта и экспорта MySQL через командную строку перейдите в панель управления Beget.

Нажмите на вкладку «Terminal» с левой стороны.

Более подробно о терминале вы сможете прочитать здесь.

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

cd ДИРЕКТОРИЯ_САЙТА/public_html/

Затем нажмите «Enter».

На скриншоте для примера указана директория под названием site:

Как экспортировать базу данных MySQL через терминал

После того как вы попадете в директорию вашего сайта, введите команду для экспорта:

mysqldump -u'begetguide_test' begetguide_test -p'yourpass' > dump.sql

Скачать созданный файл базы данных вы сможете через раздел “Файловый менеджер”.

Как импортировать базу данных MySQL через терминал

Вам необходимо поместить ваш файл базы данных в директорию вашего сайта. Сделать вы это сможете в разделе “Файловый менеджер”.

После этого введите команду:

mysql -u'begetguide_test' begetguide_test -p'yourpass' < dump.sql

Желаем удачной работы с экспортом и импортом данных в MySQL!

Если возникнут вопросы, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел "Помощь и поддержка"), а если вы захотите обсудить эту статью или MySQL в целом – ждем вас в нашем сообществе в Telegram.

Базы данных MySQL

SQL - это сокращение от Structured Query Language (структурированный язык запросов). SQL создан для работы с реляционными базами данных. Он позволяет пользователям взаимодействовать с базами данных (просматривать, искать, добавлять и управлять данными). MySQL соответствует спецификации ANSI 92 SQL.

Какая версия MySQL установлена на вашем хостинге?

На хостинге установлена MySQL версии - 5. Всю необходимую информацию о сервере Вы можете получить из Панели Управления Аккаунтом в разделе "Статистика" или уточнить у технической поддержки.

Как мне создать базу?

Создавать базы данных Вы можете самостоятельно из Панели Управления в разделе "MySQL".

Для создания базы данных MySQL Вам необходимо определить имя БД. По умолчанию будет создан доступ с локальной машины (IP: 127.0.0.1 или localhost). При создании доступов с других IP Вы указываете свой пароль для каждого IP.

Какой Hostname, Username, Password для работы с MySQL на сервере?

Работа с MySQL-сервером по умолчанию осуществляется через localhost - т.е

  • hostname: localhost
  • username - ваш логин пользователя, который совпадает с именем БД, к которой Вы подключаетесь.
  • password - пароль, который Вы задали в Панели Управления при создании базы данных.

Можно позволить пользоваться MySQL-сервером с другогo IP, а не только с localhost?

Да, необходимо настроить доступ из Панели Управления в разделе "MySQL". При создании доступов с других IP Вы указываете свой пароль для каждого IP.

Как восстановить базу данных?

Восстановление базы данных можно произвести из Панели Управления в разделе BackUp.

Выбираете "Восстановление MySQL", выбираете дату, за которую Вы хотите восстановить, выбираете базу данных и нажимаете "восстановить".

У Вас есть phpMyAdmin и как в него попасть?

Да, конечно. Попасть в phpMyAdmin можно из Панели Управления в разделе "MySQL". Напротив каждой базы данных есть ссылка с надписью "phpMyAdmin", переходите по ней, вводите пароль к базе данных и попадаете в phpMyAdmin.

Где настройки соединения с базой данных в WordPress?

Настройки соединения с базой данных можно задать в файле wp-config.php в корневой директории сайта, изменив следующие строки:

define('DB_NAME', ''); // Имя базы данных define('DB_USER', ''); // Имя пользователя MySQL define('DB_PASSWORD', ''); // Пароль к Базе Данных define('DB_HOST', 'localhost'); // Имя хоста 

Имя пользователя равно имени базы данных.

Подскажите, где настройка соединения с базой данных в UMI.CMS?

Настроить соединение с базой данных MySQL в UMI.CMS можно в файле mysql.php в корневой директории сайта, изменив следующие строки:

/* UMI.CMS mySQL - connection to database */ mysql_connect('localhost', '', '') or die(mysql_fatal()); mysql_select_db('') or die(mysql_fatal());

Ошибка при загрузке базы - Duplicate entry

При загрузке дампа базы возникает ошибка

ERROR 1062 (23000) at line 2054: Duplicate entry 'a' for key 'username_clean'

Ее можно проигнорировать на тех строках, где идет ошибка, заменив конструкцию INSERT на INSERT IGNORE, если ошибок много , то можно воспользоваться командой sed

sed -e "s/INSERT/INSERT IGNORE/g" -i имя_дампа.sql

Можно ли открыть доступ к базе со всех IP?

Да, это можно сделать из Панели Управления в разделе "MySQL".

Облачные базы данных в Beget

Мы снова к вам с продуктовыми новостями, и в этот раз обновление масштабное!

Рады сообщить, что запустили новый продукт: Cloud DBaaS (Data Base as a Service). Это наш первый шаг в развитии облачной платформы под кодовым названием «Облако». Зашифровали специально, чтобы никто не догадался.

Cloud DBaaS — это полноценный сервис, при создании которого вы получите сервер с установленной и настроенной базой данных.

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

  • MySQL версии 5.7 или 8 (версию можно выбрать при создании)
  • phpMyAdmin, доступный из браузера по техническому домену, который выделяется при создании облачного сервера
  • Наше администрирование и поддержку
  • БД, готовую к работе сразу после нажатия на кнопку “Создать”
  • Бесплатные бэкапы (временно доступны только по запросу в техническую поддержку, скоро сделаем в интерфейсе ПУ)
  • Автоматическое объединение в приватную сеть с ранее созданными у нас VPS
  • Возможность выбора необходимого тарифа с нужным количеством мощностей
  • Максимальное удобство в создании и управлении

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

Интуитивно и удобно, как всегда!
cp.beget.com/login

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

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