Реализация архитектуры клиент-сервер с помощью MYSQL

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

В процессе взаимодействия каждая машина играет свою роль: машина, посылающая запросы, обычно называется «Клиент», а машина, отвечающая (обслуживающая), называется «Сервер».

В данном случае наш веб-сервер играет роль «клиента», который подключается и читает/пишет к/от сервера базы данных (БД) (MySQL, MongoDB, Oracle, SQL Server или любого другого), а связь между ними происходит через локальную сеть (это может быть и подключение к Интернету, но общепринятой практикой является размещение веб-сервера и сервера БД рядом друг с другом в локальной сети).

Реализация архитектуры клиент-сервер с использованием системы управления базами данных (СУБД) MySQL.

В этом учебнике я продемонстрирую базовый клиент-сервер с использованием системы управления реляционными базами данных (СУБД) MySQL, следуйте следующим инструкциям

  • Создайте и настройте два виртуальных сервера на базе Linux (экземпляры EC2 в AWS) с именами.

    Server A name - `mysql server`
    Server B name - `mysql client`
    
  • На Linux-сервере mysql server установите программное обеспечение MySQL Server.

    sudo apt install mysql-server
    

    Результаты:

  • На клиентском Linux-сервере mysql установите программное обеспечение MySQL Client.

    sudo apt install mysql-client
    

    Результаты:

  • По умолчанию оба ваших виртуальных сервера EC2 расположены в одной локальной виртуальной сети, поэтому они могут общаться друг с другом, используя локальные IP-адреса. Используйте локальный IP-адрес сервера mysql для подключения с клиента mysql. MySQL сервер использует TCP порт 3306 по умолчанию, поэтому вам придется открыть его, создав новую запись в ‘Inbound rules’ в ‘mysql server’ Security Groups. Для дополнительной безопасности не разрешайте всем IP-адресам обращаться к вашему ‘mysql серверу’ — разрешите доступ только к определенному локальному IP-адресу вашего ‘mysql клиента’.

    Результаты:

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

    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
    

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

    bind-address = 127.0.0.1 
    

    на следующую строку:

    bind-address = 0.0.0.0
    

    Результаты:

  • В экземпляре mysql-server ec2 разрешите ip-адресу экземпляра mysql-client ec2 с портом 3306 получить доступ к экземпляру mysql-server ec2.

    curl http://checkip.amazonaws.com
    

    Результаты:

  • На вашем mysql-сервере создайте нового пользователя, используя следующий код

    CREATE USER 'newuser2'@'44.203.195.178' IDENTIFIED BY 'password2';
    GRANT ALL PRIVILEGES ON * . * TO 'newuser2'@'44.203.195.178';
    

    Примечание: ‘44.203.195.178’ — это ip-адрес вашего mysql-клиента.
    Результаты:

  • Чтобы подключиться к серверу mysql, в клиенте mysql введите следующий код.

    mysql -u newuser2 -h 18.234.44.89 -p
    

    Примечание: Формат следующий

    mysql -u <user> -h <ipaddress-of-the-server> -p
    

    и выполните следующее

    show databases;
    

    Результаты:

Оцените статью
devanswers.ru
Добавить комментарий