В 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