Готовим базу данных MySQL к работе с Drupal

Готовим базу данных MySQL к работе с Drupal

Наверняка найдутся те, кому выбор системы уп­рав­ле­ния ба­за­ми дан­ных MySQL для ра­бо­ты с Dru­pal 8 по­ка­жет­ся спор­ным. Вмес­те с тем, сто­рон­ни­ков у это­го ре­ше­ния до­ста­точ­но мно­го, ес­ли прос­то их не боль­шин­ст­во. Об­кат­ка аль­тер­на­тив­ных про­дук­тов идет пол­ным хо­дом, эта­пы ее вы­пол­не­ния об­ще­до­ступ­ны, по­э­то­му вы­бор SQL-сер­ве­ра — во­п­рос субъ­ек­тив­ный. Ко­му что нра­вит­ся. Мы же рас­смот­рим ряд си­ту­а­ций, в ко­то­рых мо­жет ока­зать­ся на­чи­на­ю­щий поль­зо­ва­тель, если ему нуж­но под­го­то­вить пло­щад­ку для раз­вер­ты­ва­ния CMS Dru­pal 8.

В качестве исходных данных примем тот факт, что в опе­ра­ци­он­ной системе FreeBSD 11.0 Release у нас уже про­ин­стал­ли­ро­ван веб-сервер Apache24, программная среда PHP Version 7.2 и веб-приложение phpMyAdmin.

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

Часто возникает ситуация, когда сразу после установки программного пакета MySQL и ввода пароля для пользователя root (не путать с суперпользователем операционной системы!), вход в администативную панель phpMyAdmin за­вер­ша­ет­ся неудачей и сопровождается с сообщением «Невозможно подключиться к серверу MySQL»:

Вход с учетной записью root в систему администрирования phpMyAdmin завершается неудачей и сопровождается с сообщением «Невозможно подключиться к серверу MySQL»

 

Ситуация забавная: еще недавно вход в све­же­у­ста­нов­лен­ной системе в phpMyAdmin был возможен, но теперь, с об­нов­ле­ни­ем этого программного обеспечения, все операции от имени пользователя root признаны небезопасными и за­бло­ки­ро­ва­ны.

Требуется пользователь с широкими полномочиями

Нам нужен логин для пользователя с полномочиями равными root. Прежде чем это сделать необходимо внести ряд кор­рек­тив в файл my.cnf, хранящийся в директории /usr/local/etc/mysql. В секцию [mysqld] добавляем строку

default_authentication_plugin = mysql_native_password

В секцию [mysqld] добавляем строку «default_authentication_plugin = mysql_native_password»

 

И только после этого приступаем к декларации нового пользователя, обладающего всеми полномочиями в среде MySQL и возможностью управлять базами данных из административной панели phpMyAdmin:

  • # mysql –u root –p
  • alter user root@localhost identified by ‘A00000’; для MySQL 5.7.4 и новее
  • alter user root@localhost password expire never;
  • create user webadmin@localhost identified by 'A9876';
  • grant all privileges on *.* to webadmin@localhost with grant option;
  • flush privileges;
  • exit;
Приступаем к декларации нового пользователя, обладающего всеми полномочиями в среде MySQL

 

В качестве примера выберем логин webadmin, и от его имени будем выполнять все операции, но сначала проверим пароль в консольном режиме:

mysql –u webadmin –p

Затем приступаем к работе в административной панели phpMyAdmin. Типичный пример — создание базы данных с именем database.

Создание базы данных SQL в административной панели phpMyAdmin

 

Обратите внимание, что в качестве кодовой таблицы используется utf_general_ci. Это рекомендованное решение для CMS Drupal 8.

Инсталляция Drupal 8

 

Стоит принять во внимание, что установив свежий релиз MySQL 8, пользователь может столкнуться с ситуацией, когда инсталляция Drupal 8 завершится неудачно. Проблема в том, что поддержка MySQL 8 появилась, начиная с Drupal 8.6, а в составе FreeBSD 11.0 Release в пакетах предустановлены, как правило, более ранние версии. Решение очевидно — после первого запуска Drupal 8 сразу же нужно переходить к ее обновлению.