Por que o MariaDB está rejeitando meu backup SQL?

Por que o MariaDB está rejeitando meu backup SQL?

Tive que reconstruir meu Linode para o Debian 9, pois não consegui fazer com que as fontes da minha pergunta anterior funcionassem.

eu useieste guia de configuraçãopara reconfigurar e reinstalar tudo na nova distribuição Debian.

Porém, antes de fazer isso, fiz um backup usando

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

e salvei no meu disco rígido externo.

Depois de configurar o MariaDB e executar o script seguro para criar uma senha root, alterar o nome do host e os arquivos hosts, negando acesso do localhost, tentei executar esta linha:

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

Observe que eu já estava no diretório onde o backup estava localizado. O erro que recebo é

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

Existe uma maneira de contornar isso ou devo criar um novo banco de dados e apenas usar um XML que exportei anteriormente e importá-lo?

Responder1

Dê acesso ao usuário de backup como abaixo,

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

MariaDB [(none)]> flush privileges;

E depois disso tente novamente.

Responder2

Você provavelmente ainda não tem um wordpressusuário no MariaDB. E você pode precisar de permissões mais amplas do que as do wordpressusuário para restaurar um backup. Eu recomendo restaurar como usuário do banco de dados root. Em sistemas Debian, a maneira mais fácil de fazer login no MariaDB é rootexecutar mysqlsem nenhum argumento enquanto estiver conectado ao sistema como usuário root:

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

Nota: Façanãoespecifique localhostcomo você deseja se conectar através do soquete de domínio unix que está sendo configurado por padrão em sistemas Debian. Não há necessidade de especificar nome de usuário/senha, pois todos com acesso ao soquete de domínio unix (que por padrão deve ser apenas o usuário do sistema root) automaticamente possuem rootpermissões no MariaDB.

informação relacionada