Внутри локальной сети на VPS - можно вынести базу данных MySQL на отдельный сервер. При таком варианте работы, сервер обрабатывает запросы MySQL через частное подключение. Распределение ресурсов между виртуальными машинами может понадобиться, если база данных использует значительное количество ресурсов сервера. При использовании отдельного сервера для базы данных, появляется возможность выделить практически все ресурсы для работы базы данных без ущерба работы остальных сервисов. Рассмотрим ниже конкретный пример, будем устанавливать подключение для CMS WordPress в Ubuntu 20.04 Подготовительный этап:В первую очередь необходимо:
Установка и настройка MySQL сервера:
sudo apt-get update
sudo apt-get install mysql-server
mysql -u root
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD';
mysql> FLUSH PRIVILEGES;
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
В конфигурационном файле найдите секцию [mysqld] и поменяйте значения переменных bind-address и mysqlx-bind-address. Вместо 127.0.0.1 укажите IP-адрес VPS_MYSQL внутренней сети.
sudo systemctl restart mysql
mysql -u root -p
В случае успешного подключения вы увидите приглашение в терминале для ввода команды.
CREATE DATABASE local_test;
CREATE USER 'localuser'@'localhost' IDENTIFIED BY 'password';
где localuser логин и password пароль
GRANT ALL PRIVILEGES ON local_test.* TO 'localuser'@'localhost';
Для этого пользователя мы должны указать IP, с которого будет производиться подключение к БД, то есть не IP хоста, на котором расположена сама БД: CREATE USER 'dediuser'@'10.0.0.22' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON local_test.* TO 'dediuser'@'10.0.0.22';
FLUSH PRIVILEGES;
Теперь можно выйти выпонив в консоли exit Протестируем подключение к локальной базе данных: mysql -u localuser -p
Если подключение было выполнено без ошибок можно выйти: exit
mysql -u dediuser -h 10.16.0.3 -p
после ключа -h укажите адрес машины VPS_MYSQL 10.0.0.20 Если подключение завершается ошибкой: ERROR 1130 (HY000): Host '10.0.0.20' is not allowed to connect to this MySQL server
Вероятнее всего на VPS_MYSQL не был перезапущен сервер MySQL Установка CMS WordPress:
wget https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
cp wordpress/wp-config-sample.php wordpress/wp-config.php
nano wordpress/wp-config.php
Нужно изменить значение переменных:
Выполните сохранение файла и закройте его
sudo cp -a wordpress/* /var/www/html
sudo chown -R www-data:www-data /var/www/html
# 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
Проект полностью развернут. |