Slackware, відкрити віддалене з’єднання до MariaDB

В Slackware 14.1 замість MySQL встановлено MariaDB, вона більш відкрита, стабільніша та безпечніша.

За замовченням MariaDB працює з використанням протоколу socket, це означає, що зв’язок йде через unix sockets (спеціальний фал), а не через мережу.

Буває так, що вам треба відкрити доступ до БД через мережу.

В Slackware це робиться так:

Знайдіть rc файл запуску /etc/rc.d/rc.mysqld

Закоментуйте рядок № 32, щоб він виглядав так:

# SKIP=”–skip-networking”

Це дуже важливо, так як ви дуже довго будете шукати де ж вказано, що не треба використовувати протокол TCP.

Після перезапуску MariaDB (/etc/rc.d/rc.mysqld restart) вона почне слухати мережевий tcp порт 3306, на усіх інтерфейсах.

Але це ще не все. Треба додати користувача, та виставити йому права доступу.  Для цього заходимо на сервері з базою даних локально під користувачем root.  Команда входу:  mysql -u root -p .

Щоб подивитись на список користувачів, у яких є певні дозволи для роботи в мережі, виконайте команду:

SELECT User, Host FROM mysql.user WHERE Host <> ‘localhost’;

Давайте створимо користувача root (з паролем my-new-password) якому дозволимо з’єднуватись з мережі 192.168.100.0/24 :

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.100.%’ IDENTIFIED BY ‘my-new-password’ WITH GRANT OPTION;

Символ % це підстановка цифри 0.

Не забудьте виконати команду:

FLUSH PRIVILEGES;

чи перезавантажити програму MariaDB.

В доповнення, правило для IPTABLES яке відкриває вхідний порт 3306:

iptables -A INPUT -p tcp –dport 3306 -j ACCEPT

 

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.