مرحبًا بمجتمع Discourse،
@sat هل وجدت حلًا لهذه المشكلة حتى الآن؟
واجهت نفس الخطأ أثناء محاولة الترحيل من vBulletin5 باستخدام جزء Docker من نفس الموضوع.
لقد قمت أيضًا بتثبيت MariaDB بدلاً من MySQL:
apt-get update && apt-get install libmariadb-dev mariadb-server-10.3
استوردت بيانات SQL الخاصة بي، وأستطيع الاتصال بقاعدة البيانات ورؤية أن الجداول قد تم إنشاؤها:
mysqlcheck -c vb5 -u root -p
في البداية، استخدمت بيانات الدخول الافتراضية (root / فارغ)، وفي المحاولة الثانية قمت بتعيين كلمة مرور لمستخدم root:
export DB_NAME="vb5"
export DB_USER="root"
export DB_PW="password1234"
export TABLE_PREFIX="vb5."
export ATTACHMENT_DIR='/vb5-attachments'
export TIMEZONE='Europe/Berlin'
cd /var/www/discourse
su discourse -c 'bundle exec ruby script/import_scripts/vbulletin5.rb'
أنا لست متأكدًا بشأن TABLE_PREFIX هنا. لكن جميع أسماء الجداول تبدأ بـ vb5. في التثبيت الافتراضي لدي، لذا أعتقد أن هذا يجب أن يكون مقبولًا (لقد جربت أيضًا تركه فارغًا).
لكن المشكلة الرئيسية هي أنني لا أستطيع الاتصال بقاعدة بيانات MariaDB باستخدام مستخدم discourse:
su discourse -c 'bundle exec ruby script/import_scripts/vbulletin5.rb'
Loading existing groups...
Loading existing users...
Loading existing categories...
Loading existing posts...
Loading existing topics...
Traceback (most recent call last):
5: from script/import_scripts/vbulletin5.rb:632:in `<main>'
4: from script/import_scripts/vbulletin5.rb:632:in `new'
3: from script/import_scripts/vbulletin5.rb:27:in `initialize'
2: from script/import_scripts/vbulletin5.rb:27:in `new'
1: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:90:in `initialize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:90:in `connect': Access denied for user 'root'@'localhost' (Mysql2::Error)
su discourse
mysqlcheck -c vb5 -u root -p
Enter password: #password1234
mysqlcheck: Got error: 1698: Access denied for user 'root'@'localhost' when trying to connect