Что значит: mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation'

Главные вкладки

Аватар пользователя VasyOK VasyOK 5 декабря 2021 в 3:55

Приветствую специалистов по окружению.

Когда на сервере выполняю (одно из):

$ mysqldump -u USER -pPASSWORD DATABASE > dump.sql
$ drush sql-dump > dump.sql

пишет:
> mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces

Это что значит? Файл дампа при этом создается.

Комментарии

Аватар пользователя VasyOK VasyOK 5 декабря 2021 в 15:17

Да, я натыкался на подобные инструкции, где сказано дампить с параметром --no-tablespaces, но так и не понял что это значит. Можно кратко пояснить?

Аватар пользователя arhis77 arhis77 10 марта 2022 в 18:08

я подключился к серверу через терминал по ssh и использовал следующий запрос:

mysqldump --no-tablespaces -p --user=имя_пользователя_бд имя_бд название_таблицы > название_таблицы.sql;

у меня сработало!

Аватар пользователя VasyOK VasyOK 6 декабря 2021 в 21:10

А почему при дампе БД на одном сайте это сообщение всплывает, на другом нет? На одном и том же сервере.

Аватар пользователя VasyOK VasyOK 6 декабря 2021 в 22:21

На обоих одинаково:
mysql>  SHOW GRANTS FOR 'username'@'localhost';
выдает

+----------------------------------------------------------------------------+
| Grants for username@localhost                                        |
+----------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'username'@'localhost'                         |
| GRANT ALL PRIVILEGES ON `dbname`.* TO 'username'@'localhost' |
+----------------------------------------------------------------------------+
Аватар пользователя VasyOK VasyOK 10 марта 2022 в 19:25

Очень странно, но с недавнего времени окончание --no-tablespaces пришлось добавлять еще на нескольких хостингах.
Можно ли в этом случае использовать drush для создания дампа БД. И если да то как?

Аватар пользователя univerico univerico 11 мая 2023 в 18:11

У меня похожая ситуация при использовании drush arb
Можете ли подсказать, как тогда использовать drush arb, чтобы дамп бд в бэкапе был полным?
или где на хостинге менять права пользователя? у пользователя бд или пользователя аккаунта?

Аватар пользователя bsyomov bsyomov 12 мая 2023 в 22:58
1

Либо у пользователя mysql, под которым работает Drupal добавить PROCESS.
Либо запускать drush c ключами:
--extra-dump=--no-tablespaces или --extra=--no-tablespaces в зависимости от версии drush.

Аватар пользователя univerico univerico 16 мая 2023 в 13:24

Спасибо! Я сейчас просто drush arb делаю, мне тогда к этой команде просто в конце вышеуказанный ключ или нужно отдельно дамп базы делать? Как полностью команда будет выглядеть?

Аватар пользователя bsyomov bsyomov 7 июня 2023 в 13:11
1

Боюсь, что для drush arb не добавили нужного аргумента.
Можно не пользоваться drush для архивирования, вообще говоря. Или только дамп им снимать, чтобы не задумываться о пароле к базе, а файлы нужные паковать tar, например.

А что именно делать в вашей конкретной ситуации, зависит от задачи. Например, для резервного копирования, обычно достаточно снять дамп и сохранить /sites/, или даже sites/*/files, если используется система контроля версий для кода, и это лучше делать специализированными инструментами автоматически и регулярно.