ERROR 1064 (42000): You have an error in your SQL syntax; при создании базы данных для установки друпала

Аватар пользователя Joseph Joseph 28 октября в 22:21

Скачал друпал с помощью композера
Задача создать базу данных чтобы при установке друпала заполнить поля Database name, Database username, Database password.

и делаю это по статье:
Install Drupal 8 on Ubuntu 18.04

начиная от пункта Step 3: Creating a database and user

Cоздаю базу данных:

mysql> CREATE DATABASE testdrupal CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Query OK, 1 row affected (0,19 sec)

И даю привилегии:

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON testdrupal.* TO ‘mytestus’@’localhost’ IDENTIFIED BY ‘mytestp7777’;

И получаю ошибку:

ERROR 1064 (42000): You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near 'IDENTIFIED BY ‘mytestp7777’' at line 1

Думал возможно нужно создать пользователя(хотя по идее он и так должен был создаться) и пишу

mysql> CREATE USER testdrupal@localhost IDENTIFIED BY 'parol7873';
Query OK, 0 rows affected (0,12 sec)

А потом:

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON testdrupal.* TO ‘testdrupal’@’localhost’ IDENTIFIED BY ‘parol7873’;

И получаю такую же ошибку:

ERROR 1064 (42000): You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near 'IDENTIFIED BY ‘parol7873’' at line 1

Комментарии

Аватар пользователя adano adano 28 октября в 23:36

Мануал не для вас, а для более ранней версии "мускула".

Ищите что-то свежее, тем более к Дру отношение косвенное.

Аватар пользователя Joseph Joseph 28 октября в 23:59

Так у меня версия mysql 8.0.27. А пишет что Drupal 9 requires MySQL5.7.8+.
А друпал я устанавливаю как раз таки 9. Просто всегда по этому мануалу устанавливал 8 ку и никогда не было такой ошибки.

Аватар пользователя adano adano 29 октября в 1:41

Да спутал он что-то. Версии "повыше" на сегодняшний день не существует.

Joseph wrote: А пишет что Drupal 9 requires MySQL5.7.8+

Все верно.

Повторяю, что Друпал тут не причем, вы веб-сервер (lamp) поднять пытаетесь, а в нем "свежая" версия mysql и ваши ошибки. Ищите мануал для 8 мускула, а не для 5-ого.

P.S. Время идет, убунта обновляется, версии приложений по умолчанию изменяются. Отсюда и привычные мануалы становятся нерабочими.

Аватар пользователя bsyomov bsyomov 2 ноября в 11:26

Не доверяйте слепо этим всем пошаговым руководствам. Ну или хотя бы, надо не просто тупо копипестить, а понимать, что происходит, и читать документацию по выполняемым командам.

В вашем случае, у вас не те кавычки в GRANT, и в Mysql 8 создание пользователя и управление привилегиями разделено. Правильный запрос будет выглядеть так:

CREATE USER "mytestus"@"localhost" IDENTIFIED BY "mytestp7777";
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON testdrupal.* TO "mytestus"@"localhost";

Или даже короче второй запрос:

GRANT ALL ON testdrupal.* TO "mytestus"@"localhost";