Подключаем базы MySql от CMS Drupal

  • Михаил
  • 12 мин. на прочтение
  • 123
  • 27 Aug 2022
  • 27 Aug 2022

Drupal — система управления контентом, которая распространяется по лицензии GNU GPL. Благодаря этому движок можно бесплатно использовать для реализации любых проектов, включая коммерческие. Из-за гибкости и многозадачности Drupal часто называют не CMS, а CMF: content management framework или каркасом для систем управления контентом и веб-приложений. Это определяет универсальность «Друпала». Drupal развивает сообщество энтузиастов. Волонтеры регулярно обновляют ядро, мгновенно находят уязвимости и выпускают «заплаты», создают специализированные сборки и модули, поддерживают новичков. Это обеспечивает дружественность движка к владельцам и администраторам сайтов.

Первым делом найти конфиги

Конфигурационный файл Drupal называется settings.php и находится в корневой директории сайта по следующему пути на вашей площадке 

~/папка_с_именем_сайта/www/sites/default/settings.php 

Откройте файл в текстовом редакторе, найдите следующие строки и пропишите данные для соединения с сервером MySQL 

'database' => 'myBase',                 // имя базы данных 
'host' => '127.0.0.1', 					// адрес MySQL-сервера 
'username' => 'root',                 	// логин пользователя БД 
'password' => 'P@ssw0rd'				// пароль пользователя БД

Посмотреть есть ли проявило в iptables

 iptables -L

Если нет, то добавим

iptables -I INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT

Смотрим на каких адресах опубликован сервер

Находим файл и меняем настройки

/etc/my.cnf

Настройки во внешнем файле, открываем и исправляем.

/etc/my.cnf.d/server.cnf

 

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

systemctl restart mariadb
systemctl status mariadb

Проверяем:

netstat -nat | grep :3306
lsof -i -P -n | grep 3306

Подключаемся локально и работаем.

Настраиваем пользователя для удаленного подключения. 

CREATE USER 'root'@'10.10.1.144' IDENTIFIED BY 'P@ssword';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.1.144';
FLUSH PRIVILEGES;

Перед удалением пользователя в MySQL бывает полезным посмотреть права пользователя и при необходимости лишить его этих прав. Далее необходимо отобразить права нужного пользователя. Чтобы отобразить права текущего пользователя (который в данный момент подключен к консоли MySQL) можно выполнить одну из перечисленных ниже команд. Результат вывода будет одинаков везде независимо от выбранной команды.

Выводим список пользователей.

SELECT user,host from mysql.user;

 

Отображаем права

SHOW GRANTS;

Если права необходимо отобразить для конкретного пользователя, то необходимо воспользоваться следующей командой

SHOW GRANTS FOR 'root@10.10.1.114';

Для того чтобы убрать (отозвать) разрешения на UPDATE и INSERT для пользователя alex, который может подключаться удалённо (%) необходимо выполнить следующий SQL запрос

REVOKE UPDATE, INSERT ON myBase FROM 'root@10.10.1.114';

Что-бы отобрать все права на конкретную базу данных для конкретного пользователя, например, alex, сразу необходимо выполнить SQL запрос.

REVOKE ALL ON test_db FROM 'root@10.10.1.114';

Для удаления пользователя в MySQL необходимо использовать SQL инструкцию DROP. Например, команда для удаления пользователя alex выглядит следующим образом.

DROP USER ‘root@10.10.1.114’;

Если необходимо удалить пользователя, который подключен в текущий момент то сначала необходимо досрочно прервать его сессию. Для этого необходимо узнать ID сессии. Для этого необходимо выполнить команду

SHOW PROCESSLIST;
KILL 4029;