
Мне пришлось пересобрать 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.