Проблема
- Для роботи ESET Inspect On-Prem потрібно запустити MySQL 5 у Linux
- Інсталяція MySQL 5
- Налаштування бази даних MySQL
- Перевірити стан служби MySQL
- Джерела
Рішення
Встановлення MySQL 5
-
У терміналі виконайте наступні команди:
sudo apt-get update sudo apt-get upgrade sudo apt-get install mysql-server-5.7 -
Встановіть MySQL Workbench, який є графічним інтерфейсом користувача (GUI) бази даних. У терміналі виконайте
sudo apt install mysql-workbench
Налаштування бази даних MySQL
-
У терміналі виконайте наступну команду, щоб відкрити клієнт командного рядка MySQL:
sudo mysql -u root -pЯкщо буде запитано, введіть пароль користувача MySQL root. Тепер у терміналі має з'явитися напис
mysql>, що вказує на те, що ви перебуваєте у клієнті командного рядка MySQL. Все, що ви зараз вводите, є командою SQL, а не звичайною командою терміналу. -
Налаштуйте обліковий запис користувача бази даних для 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 налаштовано. Запустіть програму:
SELECT Host, User FROM mysql.user WHERE User='root';Ви повинні побачити записи для
'root'@'%'і'root'@'localhost', які підтверджують, що облікові записи користувачів налаштовані правильно.Ви можете вийти з клієнта командного рядка MySQL, виконавши
exit;Після виходу ви більше не повинні бачити
mysql>в терміналі. -
Після налаштування облікових записів користувачів налаштуйте базу даних MySQL. У терміналі виконайте
mysql_secure_installationКоли з'явиться запит, дайте відповідь на наступні питання:
ПЕРЕВІРТЕ ПАРОЛЬ ПЛУГІНА [Так/ні] n Змінити пароль для користувача root? [Y/n] n Видалити анонімних користувачів? [Так/ні] y Заборонити віддалений вхід від імені користувача root? [Y/n] n Видалити тестову базу даних та доступ до неї? [Y/n] y Перезавантажити таблиці привілеїв? [Y/n] y -
Скопіюйте файл
mysql.service. У терміналі виконайтеsudo cp /lib/systemd/system/mysql.service /etc/systemd/system/ -
Відкрийте файл
/etc/systemd/system/mysql.serviceв текстовому редакторі і додайте наступні рядки:LimitNOFILE=30000 LimitMEMLOCK=30000Щоб відкрити файл з терміналу, виконайте
sudo nano /etc/systemd/system/mysql.service -
Збережіть файл і перезавантажте конфігурацію системи. У терміналі виконайте
sudo systemctl daemon-reload -
Відкрийте файл
/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
- У розділі
-
Перезапустіть MySQL, щоб завантажити нові параметри. У терміналі виконайте
sudo service mysql restart
Перевірте стан служби MySQL
У терміналі виконайте
systemctl status mysql.service
Служба MySQL працює, якщо вказано Active: active (запущена).