Я использую этот учебник , чтобы создать простой mysqldump в моем пользовательском каталоге. Я уже создал файл конфигурации .my.cnf
для него в своем корневом каталоге с паролем и создал папку для размещения дампа в моем пользовательском каталоге. Я могу войти в MySQL нормально, как root.
Я пытаюсь выполнить команду там. Он возвращает ошибку, в которой говорится, что в доступе к команде, которую я использовал, отказано в разрешении. Имейте в виду, что я не пытался создать базу данных вручную, так как предполагал, что дамп sql также создает базу данных, если ее не было.
Это команда, которую я использую ...
sudo mysqldump --add-drop-table --databases myDatabaseName > /home/username/$(/bin/date +\%Y-\%m-\%d).sql.bak
Я создал другого пользователя как себя, потому что я даже не смог войти в mysql с правами root.
Это помогло. Я сделал себя новым пользователем MySQL.
mysql> USE mysql;
mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY '';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost';
mysql> UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER';
mysql> FLUSH PRIVILEGES;
mysql> exit;
$ service mysql restart
Это не сработало при создании дампа, но по совету Микаэля я просто изменил разрешения для папки, которая получала ошибки об отказе в доступе, чтобы она была доступна для записи самому себе. Также сделал его читаемым для группы пользователей.
chmod 740 jordan
chown jordan:jordan /home/jordan/tutorialinux/backups/db/
После этого я мог создать дамп.