q2a 导入问题

你好,Discourse 社区,

@sat 你找到这个问题的解决方案了吗?

我在尝试使用 Docker 部分从 vBulletin5 迁移时也遇到了同样的错误,参考了 同一个帖子

我还安装了 MariaDB 而不是 MySQL:

apt-get update && apt-get install libmariadb-dev mariadb-server-10.3

我导入了 SQL 数据,并且能够连接到数据库,看到表已经创建:

mysqlcheck -c vb5  -u root -p

起初,我使用了默认登录(root / blank),第二次尝试时我为 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. 开头,所以我认为这应该没问题(我也尝试过留空)。

但主要问题是,我无法使用 discourse 用户连接到 MariaDB 数据库:

su discourse -c 'bundle exec ruby script/import_scripts/vbulletin5.rb'
正在加载现有群组...
正在加载现有用户...
正在加载现有分类...
正在加载现有帖子...
正在加载现有主题...
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