Ошибка Index_users_on_username_lower при восстановлении базы данных: импорт не удался

День был безумным, но я попробую объяснить, как я всё исправил, на случай, если у кого-то, как у меня, будет действительно :upside_down_face: невероятное невезение.

  1. Скачайте резервную копию. Распакуйте её несколько раз, пока у вас не появится файл dump.sql.

  2. Отредактируйте файл dump.sql с помощью программы, например, vim download : vim online.

  3. Я ужасно разбираюсь в SQL. Чтобы найти нужную таблицу, я искал username_lower,. Это указало мне на таблицу users, затем я искал «lea». Я отредактировал две записи с именем Lea. Вероятно, это можно было сделать гораздо проще. Но помните, я плохо знаю SQL, особенно когда файлы размером 1,5 ГБ. Сохраните файл.

  4. Сожмите файл dump.sql с помощью 7zip. У вас должен появиться новый файл с именем: dump.sql.gz.

  5. Создайте новую папку в :file_folder: /var/discourse/shared/standalone/backups/default/. Я использовал название test.

  6. Если у вас хорошее интернет-соединение, загрузите папку :file_folder: uploads, которую вы получили при распаковке файла резервной копии, и поместите её в /var/discourse/shared/standalone/backups/default/test/.
    6.1 Если у вас нет хорошего соединения, как у меня, вам нужно использовать ваш сервер. Запомните имя вашего файла резервной копии и выполните эту команду: tar xvzf /var/discourse/shared/standalone/backups/default/yourbackupfile.tar.gz -C /var/discourse/shared/standalone/backups/default/test.
    6.2 В папке test у вас будут файлы dump.sql.gz и папка uploads. Всё в порядке.

  7. Загрузите файл dump.sql.gz из вашей папки test, чтобы заменить повреждённый dump.sql.gz.

  8. На вашем сервере перейдите в директорию: cd /var/discourse/shared/standalone/backups/default/test.

  9. Вам нужно создать новый файл резервной копии. Используйте точное имя старого файла резервной копии: tar -czvf yourbackupfile.tar.gz uploads/ dump.sql.gz.

  10. Через FTP перейдите в :file_folder: /var/discourse/shared/standalone/backups/default/, удалите повреждённую резервную копию или переместите её в другую папку.

  11. Переместите новый файл резервной копии в /var/discourse/shared/standalone/backups/default/.

  12. Восстановите резервную копию. Я предпочитаю этот метод, и если вы добрались до этого шага, у вас должно получиться использовать его без проблем: Restore a backup from the command line.

Резервное копирование должно завершиться успешно :sweat_smile:

Легко.