Привет,
Прежде всего, спасибо за этот замечательный гайд. Я ценю проделанную работу.
Что касается моей проблемы:
У меня возникают трудности с подключением к базе данных при запуске скрипта импорта, хотя я использую MariaDB для хранения дампa vBulletin вместо MySQL. Я проверил, что MariaDB запущена, смог импортировать дамп vBulletin в неё, и перепроверил имя пользователя, хост и пароль в скрипте четыре раза, но всё безрезультатно.
Чувствую, что упускаю что-то очевидное. Если кто-то сможет подсказать, в каком направлении двигаться, это было бы очень полезно.
Я использую следующие версии:
mysql2 0.5.2
mariadb-server-10.3
discourse master, коммит git cb8fa46
Полное описание ниже.
При попытке запустить
apt-get update && apt-get install libmysqlclient-dev mysql-server-5.7
я получаю ошибку:
E: Package 'libmysqlclient-dev' has no installation candidate
E: Package 'mysql-server-5.7' has no installation candidate
что логично, возможно, эти пакеты были удалены из репозитория за это время.
Поэтому я запускаю вместо этого:
apt-get update && apt-get install mariadb-server-10.3 libmariadbd-dev
MariaDB работает как прямая замена, что приятно, так как все шаги выполняются до тех пор, пока я не попробую запустить скрипт миграции, после чего получаю ошибку:
root@discourse:/src# su discourse -c 'bundle exec ruby script/import_scripts/vbulletin.rb'
root:@localhost wants vb4
Loading existing groups...
Loading existing users...
Loading existing categories...
Loading existing posts...
Loading existing topics...
==================================================
Access denied for user 'root'@'localhost'
Cannot connect in to database.
Hostname: localhost
Username: root
Password:
database: vb4
Edit the script or set these environment variables:
export DB_HOST="localhost"
export DB_NAME="vbulletin"
export DB_PW=""
export DB_USER="root"
export TABLE_PREFIX="vb_"
export ATTACHMENT_DIR '/path/to/your/attachment/folder'
Exiting.
По поводу прав доступа:
root@discourse:/src# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 59
Server version: 10.3.17-MariaDB-0+deb10u1 Debian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show grants;
+------------------------------------------------------------------------------------------------+
| Grants for root@localhost |
+------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED VIA unix_socket WITH GRANT OPTION |
| GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION |
+------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)
Я многократно перепроверил имя пользователя и пароль и даже установил их вручную.
