Почему MariaDB отклоняет мою резервную копию SQL?

Почему MariaDB отклоняет мою резервную копию SQL?

Мне пришлось пересобрать Linode до Debian 9, так как я не смог заставить работать исходники из моего предыдущего вопроса.

я использовалэто руководство по настройкеперенастроить и переустановить все на новый дистрибутив Debian.

Однако, прежде чем это сделать, я сделал резервную копию с помощью

$ mysqldump --add-drop-table -h vps.sensation-experience.com -u wordpress -p wordpressDB > backup.sql

и сохранил его на своем внешнем жестком диске.

После настройки MariaDB и запуска безопасного скрипта для создания пароля root, изменения имени хоста и файлов hosts, запрета доступа с localhost, я попробовал запустить эту строку:

mysql --user wordpress --password < backup.sql

Обратите внимание, я уже был в каталоге, где была расположена резервная копия. Я получаю ошибку

 ERROR 1698 (28000): Access denied for user 'wordpress'@'localhost'

Есть ли способ обойти это или мне следует создать новую базу данных и просто использовать XML, который я ранее экспортировал, и импортировать его?

решение1

Предоставьте доступ резервному пользователю, как показано ниже,

MariaDB [(none)]> GRANT LOCK TABLES, SELECT ON *.* TO 'wordpress'@'localhost' IDENTIFIED BY 'your-password';

MariaDB [(none)]> flush privileges;

И после этого попробуйте еще раз.

решение2

У вас, вероятно, пока нет wordpressпользователя в MariaDB. И вам могут потребоваться более обширные права, чем у вашего wordpressпользователя, для восстановления резервной копии. Я рекомендую восстанавливать как пользователь базы данных root. В системах Debian самый простой способ войти в MariaDB as root— запустить mysqlбез каких-либо аргументов, будучи вошедшим в систему как пользователь root:

root@tux:~$ echo "CREATE DATABASE wordpressDB;" | mysql
root@tux:~$ mysql < backup.sql

Примечание: Делатьнетукажите localhost, что вы хотите подключиться через сокет домена unix, который настраивается по умолчанию в системах Debian. Не нужно указывать имя пользователя/пароль, поскольку каждый, у кого есть доступ к сокету домена unix (который по умолчанию должен быть только у системного пользователя root), автоматически имеет rootразрешения в MariaDB.

Связанный контент