Раз у вас ошибка Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
, даже при запуске от root
, попробуйте следующие решения:
1. Используйте флаг --no-tablespaces
Попробуйте выполнить команду с флагом --no-tablespaces
, который исключает дамп системных таблиц:
mysqldump -u root -p --no-tablespaces database_name > backup.sql
Это наиболее распространённое решение данной ошибки.
2. Проверить привилегии root-пользователя
Даже если вы запускаете команду от root
, у него может не быть всех нужных прав. Выполните в MySQL:
SHOW GRANTS FOR 'root'@'localhost';
Если отсутствуют PROCESS
или SHOW DATABASES
, добавьте их:
GRANT PROCESS, SHOW DATABASES ON *.* TO 'root'@'localhost';
FLUSH PRIVILEGES;
3. Проверить версию MySQL
Некоторые версии MySQL (например, 8.x) требуют дополнительных привилегий для работы с tablespaces. Узнать версию можно так:
mysql --version
Если у вас MySQL 8, попробуйте экспортировать только структуру и данные без tablespaces:
mysqldump -u root -p --no-tablespaces --no-data database_name > backup_structure.sql
mysqldump -u root -p --no-tablespaces --no-create-info database_name > backup_data.sql
Затем можно импортировать их отдельно.
4. Обход проблемы через --single-transaction
Если дамп делается для InnoDB, попробуйте добавить --single-transaction
:
mysqldump -u root -p --single-transaction --quick --no-tablespaces database_name > backup.sql
Этот метод полезен для больших баз и может обойти проблемы с блокировками.
5. Проверить, не запущен ли mysql_secure_installation
Если ранее был запущен mysql_secure_installation
, он мог ограничить root-доступ. Проверьте, можно ли войти в MySQL под root
:
mysql -u root -p
Если root требует аутентификацию через auth_socket
, нужно временно переключиться на парольный вход:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
FLUSH PRIVILEGES;
Затем попробуйте снова.
Вывод
Наиболее эффективные решения:
1️Использовать --no-tablespaces
2️Проверить права root (SHOW GRANTS
)
3️Добавить --single-transaction
для InnoDB