Настройка centos 7 mysql: Установка и настройка MySQL на CentOS 7

Linux Admin — Настройка MySQL на CentOS 7

Как уже говорилось, при настройке CentOS для использования с Maria DB, в репозитории CentOS 7 yum нет собственного пакета MySQL. Чтобы учесть это, нам нужно будет добавить размещенный репозиторий MySQL.

MariaDB против MySQL на CentOS Linux

Стоит отметить, что MySQL потребует другой набор базовых зависимостей от MariaDB. Также использование MySQL нарушит концепцию и философию CentOS: производственные пакеты, разработанные для максимальной надежности.

Поэтому при принятии решения, использовать ли Maria или MySQL, следует взвесить два варианта: будет ли моя текущая схема БД работать с Maria? Какое преимущество дает мне установка MySQL перед Марией?

Компоненты Maria на 100% прозрачны для структуры MySQL, с некоторой дополнительной эффективностью и улучшенным лицензированием. Если нет веских причин, рекомендуется настроить CentOS для использования MariaDB.

Основные причины отдать предпочтение Марии на CentOS –

  • Большинство людей будут использовать MariaDB. При возникновении проблем вы получите больше помощи с Марией.

  • CentOS предназначен для бега с Марией. Следовательно, Мария предложит лучшую стабильность.

  • Мария официально поддерживается CentOS.

Большинство людей будут использовать MariaDB. При возникновении проблем вы получите больше помощи с Марией.

CentOS предназначен для бега с Марией. Следовательно, Мария предложит лучшую стабильность.

Мария официально поддерживается CentOS.

Загрузите и добавьте репозиторий MySQL

Мы хотим скачать и установить репозиторий MySQL из –

http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

Шаг 1 – Загрузите репозиторий.

Хранилище поставляется удобно упакованным в пакет rpm для легкой установки. Его можно скачать с помощью wget

[root@centos]# wget http://repo.mysql.com/mysql-community-release-el75.noarch.rpm
   --2017-02-26 03:18:36--  http://repo. mysql.com/mysql-community-release-el75.noarch.rpm
   Resolving repo.mysql.com (repo.mysql.com)... 104.86.98.130

Шаг 2 – Установите MySQL из YUM.

Теперь мы можем использовать менеджер пакетов yum для установки MySQL

[root@centos]# yum -y install mysql-server

Шаг 3 – Запустите и включите MySQL Daemon Service.

[root@centos]# systemctl start mysql 
[root@centos]# systemctl enable  mysql

Шаг 4 – Убедитесь, что наш сервис MySQL запущен и работает.

[root@centos]# netstat -antup | grep 3306 
tcp6       0       0 :::3306       :::*       LISTEN       6572/mysqld
[root@centos]#

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

Инструкция по установке MySQL на FreeBSD 11

MySQL — одна из самых заслуженно популярных систем управления базами данных (СУБД). Особенно часто она применяется для хранения данных веб-сайтов различной сложности, так как сочетает в себе простоту установки и первоначальной настройки с высокой функциональностью и неприхотливостью использования. Из-за своей популярности она включена в стандартные репозитории большинства дистрибутивов Linux, а также в систему портов FreeBSD. Разумеется присутствует и версия для OC Windows.

Существует две редакции MYSQL — платная (enterprise) и бесплатная (community). Первая существует также в нескольких вариантах, отличающихся стоимостью и набором поддерживаемых функциональных возможностей. Подробнее об этом рассказывается на официальном сайте MySQL.

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

В операционных системах семейства FreeBSD также существует пакетный менеджер — система управления пакетами — называющаяся pkg. Она достаточно проста в обращении, благодаря этому, установить Mysql во FreeBSD насколько же просто, как и в других ОС (Windows, Linux).

Для этого необходимо выполнить следующие операции.

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


root@freebsd11:~ # pkg update
Updating FreeBSD repository catalogue...
Fetching meta.txz: 100%    944 B   0.9kB/s    00:01
Fetching packagesite.txz: 100%    6 MiB   1.1MB/s    00:06
Processing entries: 100%
FreeBSD repository update completed. 31153 packages processed.
root@freebsd11:~ #

Находим нужный нам пакет командой pkg search mysql. Так как мы устанавливаем серверную часть MySQL — mysql-server то отфильтруем вывод с помощью утилиты grep.


root@freebsd11:~ # pkg search mysql | grep server
geoserver-mysql-plugin-2.12.1  MySQL DataStore implementation for GeoServer
mydns-mysql-1.1.0_7            DNS server designed to utilize the MySQL database
mysql-udf-0. 3_2                Set of user-defined functions for the MySQL server
mysql55-server-5.5.60          Multithreaded SQL database (server)
mysql56-server-5.6.40          Multithreaded SQL database (server)
mysql57-server-5.7.22          Multithreaded SQL database (server)
mysql80-server-8.0.2_1         Multithreaded SQL database (server)
mysqld_exporter-0.10.0_1       Prometheus exporter for MySQL server metrics
mysqlwsrep56-server-5.6.39     MySQL database enhanced with Galera replication (server package)
mysqlwsrep57-server-5.7.21     MySQL database enhanced with Galera replication (server package)
root@freebsd11:~ #

Выберем версию MySQL и установим его также командой pkg install <имя пакета>, т.е в нашем случае пишем pkg install mysql57-server-5.7.22

Система проведет подготовительные операции и спросит хотим ли мы установить этот пакет — скажем да (Y).



 pkg install mysql57-server-5.7.22
Updating FreeBSD repository catalogue. ..
FreeBSD repository is up to date.
All repositories are up to date.
The following 6 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        mysql57-server: 5.7.22
        curl: 7.60.0
        libnghttp2: 1.31.1
        protobuf: 3.5.1.1
        mysql57-client: 5.7.22_1
        cyrus-sasl: 2.1.26_13

Number of packages to be installed: 6

The process will require 213 MiB more space.
20 MiB to be downloaded.

Proceed with this action? [y/N]:


 pkg install mysql57-server-5.7.22
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 6 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        mysql57-server: 5.7.22
        curl: 7.60.0
        libnghttp2: 1.31.1
        protobuf: 3.5.1.1
        mysql57-client: 5.7. 22_1
        cyrus-sasl: 2.1.26_13

Number of packages to be installed: 6

The process will require 213 MiB more space.
20 MiB to be downloaded.

Proceed with this action? [y/N]:

На этом этапе менеджер пакетов сообщит нам какой объем информации ему необходимо скачать из интернета и попросит нашего согласия — также ответим положительно.


New packages to be INSTALLED:
        libnghttp2: 1.31.1
        curl: 7.60.0
        protobuf: 3.5.1.1
        cyrus-sasl: 2.1.26_13
        mysql57-client: 5.7.22_1
        mysql57-server: 5.7.22

Number of packages to be removed: 1
Number of packages to be installed: 6

The process will require 148 MiB more space.

Proceed with this action? [y/N]:

На этом установка завершена. Для того, чтобы СУБД запускалась при старте системы добавляем mysql_enable=»YES» к файлу /etc/rc.conf echo ‘mysql_enable=»YES»‘ >> /etc/rc. conf

Запускаем MySQL

root@freebsd11:/usr/local # service mysql-server start


Starting mysql.

Проверяем, что он запустился.

service mysql-server status

Если выходит ошибка вида


/usr/local/etc/rc.d/mysql-server: WARNING: failed precmd routine for mysql

То необходимо очистить каталог /var/db/mysql/* и заново проинициализировать MySQL. Для этого введем следующие команды:

rm -rf /var/db/mysql/*

Команда rm удаляет файлы или папки. Ключ -f говорит о том, что команда не должна спрашивать подтверждение данного действия (используйте данный ключ с большой осторожностью, так как в отличие от ОС Windows в системах Linux/Unix корзины нет). Ключ -r означает что необходимо также удалять и вложенные каталоги.

Далее необходимо проинициализировать MySQL.

Для этого запускаем команду mysql_secure_installation


Securing the MySQL server deployment. 

Connecting to MySQL server using password in '/root/.mysql_secret'

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No: Y

Программа спрашивает, запустить ли плагин проверки валидности пароля (соответствия требованиям безопасности) — включаем, нажав Y, и выбираем правила сложности:

  • low — длина пароля не менее 8 символов
  • medium — тоже что и low, плюс пароль должен содержать цифры, символы разных регистров и специальные символы, такие как $# и т.д.
  • strong — тоже что и medium плюс не должно быть словарных слов.

Выберем вариант medium нажав 1.


There are three levels of password validation policy:

LOW	Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary              	file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

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


By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) :

Запретить ли пользователю root логиниться удаленно — обычно да, запрещают по соображениям безопасности, так как у этого пользователя неограниченные права на доступ в СУБД.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y

Убрать ли тестовые базы. Скажем, например, нет.


By default, MySQL comes with a database named 'test' that
anyone can access.  This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : N

Перезагрузить таблицу привилегий — это таблица прав доступа


Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

После этого настройка завершена и можно попробовать соединиться с нашей базой данных консольным клиентом командой mysql -u root -p. Если все сделано правильно, то вы успешно войдете в систему.

  • -u ключ, указывающий каким пользователем логиниться. По умолчанию у нас есть только root
  • -p ключ, требующий ввода пароля. После него можно указать сам пароль в текстовом виде, но это небезопасно, и так никто не делает.

root@freebsd11:~ # mysql -u root -p
Enter password:
Welcome to the MySQL monitor.   Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.7.13-log

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@localhost [(none)]>

Можно, например, посмотреть список имеющихся БД командой show databases;.


Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.7.13-log Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help.  Type '\c' to clear the current input statement.

root@localhost [(none)]> show databases;
+------------------------------+
| Database                     |
+------------------------------+
| information_schema    |
| mysql          	                |
| performance_schema |
| sys            	                |
+-----------------------------+
4 rows in set (0.00 sec)

root@localhost [(none)]>

На этом установка MySQL на FreeBSD 11 окончена. В нашей базе знаний вы найдёте ещё множество статей посвящённых различным аспектам работы в Linux, а если вы ищете надежный виртуальный сервер под управлением Linux, обратите внимания на нашу услугу — Аренда виртуального сервера на базе Linux.


Заказать сервер на Linux

Как настроить удаленные и безопасные соединения

Введение

MySQL — это система управления базами данных SQL с открытым исходным кодом, разработанная корпорацией Oracle.

SQL означает язык структурированных запросов, который является стандартизированным языком, используемым для доступа к базам данных. Текущая версия языка соответствует стандарту SQL:2003.

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

В этом руководстве мы поговорим о том, как установить MySQL и настроить безопасное удаленное соединение в среде CentOS 7.

Установить MySQL

Последняя стабильная версия MySQL — 5.7, именно ее мы установим и настроим в этом руководстве.

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

 # yum localinstall -y https://dev.mysql.com/get/mysql57-community-release-el7-9. noarch.rpm 

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

 # yum install -y mysql-community-server 

В конце процесса установки запустите MySQL, используя

systemd

инструменты:

 # systemctl start mysqld 

Проверить статус MySQL:

 mysqld.service - MySQL Server
 Загружено: загружено (/usr/lib/systemd/system/mysqld.service; включено; предустановка поставщика: отключена)
   Active: active (работает)  ... 

MySQL прослушивает порт 3306, как вы можете видеть, выполнив инструмент

netstat

:

 # netstat -plntu | grep mysql 
 tcp6 0 0 :::  3306  :::* LISTEN 8776/mysqld 

Конфигурация MySQL

При первом запуске сервера MySQL учетная запись суперпользователя (

‘root’@’localhost

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

 

# grep 'temporary password' /var/log/mysqld.log

Вывод:

 [Примечание] Генерируется временный пароль для [email protected]:  en>_g6syXIXq  

Первый шаг — изменить этот пароль root.

Войдите в оболочку MySQL:

 # mysql -u root -p 

Введите автоматически сгенерированный пароль, который был раскрыт с помощью предыдущей команды.

Далее измените пароль с помощью следующего запроса:

 mysql> ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ 'root'@'localhost' ИДЕНТИФИКАЦИЯ ' RootStrongPassword1! '; 

Сброс привилегий и выход:

 mysql> FLUSH PRIVILEGES;
Запрос выполнен успешно, затронуто 0 строк (0,00 сек.)

mysql> ВЫХОД;
До свидания 

Включить SSL для MySQL

По умолчанию у MySQL есть собственные сертификаты SSL, хранящиеся в

/var/lib/mysql

. Для целей этого руководства этих сертификатов достаточно.

Примечание: в рабочей среде всегда используйте более безопасные и «личные» сертификаты.

Проверьте SSL из оболочки MySQL.

 # mysql -u корень -p

mysql> ПОКАЗАТЬ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ, КАК '%ssl%';
+----------------+---+
| Имя_переменной | Значение           |
+----------------+---+
| have_openssl  | ДА             |
| have_ssl      | ДА             |
| ssl_ca        | ca.pem          |
| ssl_capath    | |
| ssl_cert      | сервер-cert.pem |
| ssl_cipher    | |
| ssl_crl       | |
| ssl_crlpath   | |
| ssl_key       | сервер-ключ.pem  |
+----------------+---+
9ряды в наборе (0,01 сек) 

Проверить статус SSL:

 mysql> STATUS;
--------------
mysql Ver 14.14 Distrib 5.7.18, для Linux (x86_64) с использованием оболочки EditLine

Идентификатор соединения: 4
Текущая база данных:
Текущий пользователь: [электронная почта защищена]
  SSL: не используется 
Текущий пейджер: стандартный вывод
Использование внешнего файла: ''
Использование разделителя: ;
Версия сервера: 5. 7.18 MySQL Community Server (GPL)
Версия протокола: 10
Подключение: Localhost через сокет UNIX
Набор символов сервера: latin1
Набор символов БД: latin1
Набор символов клиента: utf8
Соедин. набор символов: utf8
Сокет UNIX: /var/lib/mysql/mysql.sock
Время работы: 27 мин 25 сек

Темы: 1 Вопросы: 12 Медленные запросы: 0 Открытия: 113 Сбросные таблицы: 1 Открытые таблицы: 106 Запросов в секунду в среднем: 0,007
-------------- 

Как видите, SSL не используется. Итак, следующий шаг — включить его.

Включить SSL в файле конфигурации MySQL

Отредактируйте файл конфигурации MySQL:

 # $EDITOR /etc/my.cnf 

В разделе

[mysqld]

вставьте следующее содержимое:

 ssl =/var/lib/mysql/ca.pem
ssl-cert=/var/lib/mysql/server-cert.pem
ssl-key=/var/lib/mysql/server-key.pem 

Сохраните, выйдите и перезапустите службу MySQL.

 # перезапуск systemctl mysqld 

Еще раз проверьте статус SSL в оболочке MySQL.

 # mysql -u корень -p

mysql> СТАТУС;
mysql Ver 14.14 Distrib 5.7.18, для Linux (x86_64) с использованием оболочки EditLine

Идентификатор соединения: 5
Текущая база данных:
Текущий пользователь: [электронная почта защищена]
  SSL: не используется 
Текущий пейджер: стандартный вывод
Использование внешнего файла: ''
Использование разделителя: ;
Версия сервера: 5.7.18 MySQL Community Server (GPL)
Версия протокола: 10
Подключение: Localhost через сокет UNIX
Набор символов сервера: latin1
Набор символов БД: latin1
Набор символов клиента: utf8
Соедин. набор символов: utf8
Сокет UNIX: /var/lib/mysql/mysql.sock
Время работы: 1 мин 2 сек

Темы: 1 Вопросы: 6 Медленные запросы: 0 Открытий: 105 Flush-таблиц: 1 Открытых таблиц: 98 запросов в секунду в среднем: 0,096

 
Включить клиенты

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

my. cnf

.

 # $EDITOR /etc/my.cnf 

Туда в конец файла вставьте следующее содержимое:

 [клиент]
ssl-ca=/var/lib/mysql/ca.pem
ssl-cert=/var/lib/mysql/client-cert.pem
SSL-ключ=/var/lib/mysql/client-key.pem 

Сохранить, выйти и перезапустить MySQL еще раз:

 # systemctl перезапустить mysqld 

Проверить состояние MySQL, как описано выше:

 mysql> STATUS
--------------
mysql Ver 14.14 Distrib 5.7.18, для Linux (x86_64) с использованием оболочки EditLine

Идентификатор соединения: 3
Текущая база данных:
Текущий пользователь: [электронная почта защищена]
  SSL: используется шифр DHE-RSA-AES256-SHA .
Текущий пейджер: стандартный вывод
Использование внешнего файла: ''
Использование разделителя: ;
Версия сервера: 5.7.18 MySQL Community Server (GPL)
Версия протокола: 10
Подключение: Localhost через сокет UNIX
Набор символов сервера: latin1
Набор символов БД: latin1
Набор символов клиента: utf8
Соедин.  набор символов: utf8
Сокет UNIX: /var/lib/mysql/mysql.sock
Время работы: 1 мин 32 сек.

Темы: 1 Вопросы: 6 Медленные запросы: 0 Открытий: 105 Flush-таблиц: 1 Открытых таблиц: 98 запросов в секунду в среднем: 0,065 

SSL теперь включен, и соединения защищены через него.

Разрешить удаленные подключения

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

Отредактируйте файл конфигурации MySQL:

 # $EDITOR /etc/my.cnf 

В конце раздела

[mysqld]

вставьте следующие строки:

 адрес привязки = *
require_secure_transport = ON 

Сохраните, выйдите и перезапустите MySQL.

 # systemctl перезапустить mysqld 
Создать нового пользователя для удаленных подключений

На этом этапе SSL и удаленные подключения включены. Следующее, что нужно сделать, это создать нового пользователя MySQL:

 # mysql -u root -p 

Создать нового пользователя:

 mysql> СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'gmolica'@'%' ИДЕНТИФИКАЦИЯ 'Unixmen1!'  ТРЕБУЕТСЯ X509  ;
mysql> ПРЕДОСТАВЬТЕ ВСЕ ПРИВИЛЕГИИ НА *. * 'gmolica'@'%', ОПРЕДЕЛЕННОМУ 'Unixmen1!' ТРЕБУЕТСЯ X509;
mysql> УДАЛИТЬ ПРИВИЛЕГИИ;
mysql> ВЫХОД; 

Заключение

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

Установка и настройка сервера MySQL (CentOS) — практические занятия

Цены

Об этом практическом занятии

Сервер MySQL — одна из самых популярных и широко используемых реляционных баз данных. В этой лабораторной работе вам будет поручено установить сервер MySQL на CentOS 7 и обеспечить его надлежащую защиту.

Цели обучения

Успешно завершить эту лабораторную работу, достигнув следующих целей обучения:

Загрузите tar-файл MySQL RPM Bundle со страницы загрузки MySQL Community Server

В домашнем каталоге пользователя cloud_user выполните следующее:

# wget https://dev. mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.15-1.el7.x86_64.rpm-bundle.tar

Извлеките файлы RPM из файла tar пакета MySQL

В домашнем каталоге cloud_user используйте команду tar для извлечения RPM-файлов из пакета tar-файла:

 [cloud_user@host]$ tar -xvf mysql-8.0.15-1.el7.x86_64 .rpm-bundle.tar 
Установите сервер MySQL и зависимости с помощью команды `rpm`

В домашнем каталоге cloud_user используйте команду rpm для установки сервера MySQL и зависимостей:

 [ cloud_user@host]$ sudo rpm -Uvh mysql-community-{server,client,common,libs}-* 
Запустите сервер MySQL

Используйте systemctl для запуска службы mysqld :

 [cloud_user@host]$ sudo systemctl start mysqld 

Обновите пароль суперпользователя на сервере MySQL для сервера

Найдите временный пароль для суперпользователя:

 [cloud_user@host]$ sudo grep 'temporary password' /var/log/mysqld. log 

Используя временный пароль, войдите на сервер MySQL как root user:

 [cloud_user@host]$ # mysql -u root -p 

Обновите пароль для root пользователя:

 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY ''; 

Для оценки убедитесь, что NEW_PASSWORD равен Linux4me! .

Выйдите из приглашения mysql:

 mysql> exit 
Защитите установку сервера MySQL, убедившись, что анонимные пользователи удалены, удаленный вход «root» отключен, база данных «test» удалена, а таблицы привилегий удалены. Был перезагружен

Начните установку, выполнив команду mysql_secure_installation :

 cloud_user@host]$ mysql_secure_installation 

Ответьте на следующие вопросы, чтобы завершить безопасную установку:

 Изменить пароль для root ? н
Удалить анонимных пользователей? у
Запретить удаленный вход в систему root? у
Удалить тестовую базу данных и доступ к ней? у
Перезагрузить таблицы привилегий сейчас? y 

Связаться с отделом продажСмотреть цены

Что такое практические занятия

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