[KB8595] Встановіть MySQL 5 для сервера ESET Inspect на Linux

ПРИМІТКА:

Ця сторінка перекладена за допомогою комп'ютера. Клацніть англійську мову в розділі Мови на цій сторінці, щоб переглянути оригінальний текст. Якщо вам щось незрозуміло, зверніться до місцевої служби підтримки.

Проблема

Рішення

Встановлення MySQL 5

Підтримувані версії Linux для MySQL 5

MySQL 5 можна встановити лише на дистрибутиви Linux, які все ще містять MySQL 5.7 у своїх репозиторіях за замовчуванням (наприклад, Ubuntu 16.04 LTS або 18.04 LTS). Пізніші версії Linux більше не включають MySQL 5.7 за замовчуванням і вимагають ручного встановлення за допомогою офіційного репозиторію MySQL APT.

Якщо ви використовуєте більш пізню версію Linux, install MySQL 8.

  1. У терміналі виконайте наступні команди:

    sudo apt-get update sudo apt-get upgrade sudo apt-get install mysql-server-5.7
  2. Встановіть MySQL Workbench, який є графічним інтерфейсом користувача (GUI) бази даних. У терміналі виконайте

    sudo apt install mysql-workbench

Налаштування бази даних MySQL

  1. У терміналі виконайте наступну команду, щоб відкрити клієнт командного рядка MySQL:

    sudo mysql -u root -p

    Якщо буде запитано, введіть пароль користувача MySQL root. Тепер у терміналі має з'явитися напис mysql>, що вказує на те, що ви перебуваєте у клієнті командного рядка MySQL. Все, що ви зараз вводите, є командою SQL, а не звичайною командою терміналу.

  2. Налаштуйте обліковий запис користувача бази даних для localhost і зовнішніх підключень. Запустіть наступні SQL-команди в клієнті командного рядка MySQL:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin'; CREATE USER 'root'@'%' IDENTIFIED WITH 'admin'; GRANT ALL PRIVILIGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;

    Команди змінюють пароль локального облікового запису користувача root(root'@'localhost, створеного за замовчуванням під час встановлення MySQL) на admin і створюють віддалений обліковий запис користувача root(root'@'%) з тим самим паролем(admin) і повними привілеями. Ви можете замінити пароль-заповнювач admin у командах на безпечний пароль на ваш вибір.

    Пароль облікового запису користувача віддаленого доступу до бази даних

    Пароль облікового запису користувача з віддаленим доступом(root'@'%) буде потрібен під час інсталяції ESET Inspect Server.

    Ви можете змінити пароль для облікового запису користувача з віддаленим доступом(root'@'%) у такий спосіб:

    • У клієнті командного рядка MySQL за допомогою: ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'new_password';
    • З терміналу: sudo mysql -e "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'new_password';
    • З MySQL Workbench:

      1. У терміналі запустіть mysql-workbench, щоб відкрити MySQL Workbench.

      2. У MySQL Workbench натисніть База данихПідключення до бази даних. Виберіть підключення до бази даних і натисніть OK. Введіть пароль користувача і натисніть OK.

      3. Натисніть СерверКористувачі та привілеї. Виберіть запис користувача root, де хостом є %, встановіть і підтвердіть пароль і натисніть Застосувати.

  3. Переконайтеся, що локальний і віддалений облікові записи користувача root налаштовано. Запустіть програму:

    SELECT Host, User FROM mysql.user WHERE User='root';

    Ви повинні побачити записи для 'root'@'%' і 'root'@'localhost', які підтверджують, що облікові записи користувачів налаштовані правильно.

    Ви можете вийти з клієнта командного рядка MySQL, виконавши

    exit;

    Після виходу ви більше не повинні бачити mysql> в терміналі.

  4. Після налаштування облікових записів користувачів налаштуйте базу даних MySQL. У терміналі виконайте

    mysql_secure_installation

    Коли з'явиться запит, дайте відповідь на наступні питання:

    ПЕРЕВІРТЕ ПАРОЛЬ ПЛУГІНА [Так/ні] n Змінити пароль для користувача root? [Y/n] n Видалити анонімних користувачів? [Так/ні] y Заборонити віддалений вхід від імені користувача root? [Y/n] n Видалити тестову базу даних та доступ до неї? [Y/n] y Перезавантажити таблиці привілеїв? [Y/n] y
  5. Скопіюйте файл mysql.service. У терміналі виконайте

    sudo cp /lib/systemd/system/mysql.service /etc/systemd/system/
  6. Відкрийте файл /etc/systemd/system/mysql.service в текстовому редакторі і додайте наступні рядки:

    LimitNOFILE=30000 LimitMEMLOCK=30000

    Щоб відкрити файл з терміналу, виконайте

    sudo nano /etc/systemd/system/mysql.service
  7. Збережіть файл і перезавантажте конфігурацію системи. У терміналі виконайте

    sudo systemctl daemon-reload
  8. Відкрийте файл /etc/mysql/mysql.conf.d/mysqld.cnf у текстовому редакторі та оновіть його, як зазначено нижче.

    Щоб відкрити файл з терміналу, виконайте

    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
    • У розділі [mysqld] змініть наступні параметри:

      bind-address = {IP_OF_THIS_MACHINE} thread_stack = 256K

      Замініть {IP_OF_THIS_MACHINE} в bind-address на IP-адресу машини, на якій запущено базу даних MySQL. Не використовуйте значення за замовчуванням 127.0.0.1. (localhost), оскільки воно дозволяє тільки локальні підключення. ESET Inspect On-Prem не зможе підключитися до бази даних MySQL, якщо IP-адреса вказана неправильно.

    • У розділі [mysqld] додайте такі параметри:

      innodb_buffer_pool_size=4G innodb_flush_log_at_trx_commit=0 innodb_log_file_size=2G

      Значення innodb_buffer_pool_size та innodb_log_file_size наведено для прикладу. Встановіть innodb_buffer_pool_size у 80% від доступної оперативної пам'яті сервера MySQL. Встановіть innodb_log_file_size в 40-60% від значення innodb_buffer_pool_size.

    • В кінці файлу додайте наступні рядки:

      event_scheduler = ON wait_timeout=900 max_connections=300
  9. Перезапустіть MySQL, щоб завантажити нові параметри. У терміналі виконайте

    sudo service mysql restart

Перевірте стан служби MySQL

У терміналі виконайте

systemctl status mysql.service

Служба MySQL працює, якщо вказано Active: active (запущена).


Джерела