이전 질문의 소스 코드를 얻을 수 없었기 때문에 Linode를 Debian 9로 다시 빌드해야 했습니다.
나는 사용했다이 설정 가이드새로운 데비안 배포판에 모든 것을 재구성하고 다시 설치하세요.
그러나 이 작업을 수행하기 전에 다음 명령을 사용하여 백업을 수행했습니다.
$ mysqldump --add-drop-table -h vps.sensation-experience.com -u wordpress -p wordpressDB > backup.sql
그리고 외장하드에 저장해 보세요.
MariaDB를 설정하고 보안 스크립트를 실행하여 루트 비밀번호를 생성하고, 호스트 이름과 호스트 파일을 변경하고, 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에 로그인하는 가장 쉬운 방법은 root
사용자로 시스템에 로그인한 동안 매개변수 없이 실행하는 것입니다.mysql
root
root@tux:~$ echo "CREATE DATABASE wordpressDB;" | mysql
root@tux:~$ mysql < backup.sql
참고: 하다아니요localhost
Debian 시스템에 기본적으로 설정되어 있는 Unix 도메인 소켓을 통해 연결하도록 지정합니다 . Unix 도메인 소켓에 액세스할 수 있는 모든 사람(기본적으로 시스템 사용자여야 함 root
)은 자동으로 root
MariaDB에서 권한을 가지므로 사용자 이름/비밀번호를 지정할 필요가 없습니다 .