こんにちは、
まず、この素晴らしいガイドを作成していただき、ありがとうございます。そこに費やされた労力に感謝しています。
私の問題について
インポートスクリプトを実行する際にデータベースへの接続に問題が発生しています。vBulletin のダンプを格納するために MySQL ではなく MariaDB を使用していることが原因かもしれません。MariaDB が実行されていることは確認済みで、vBulletin のダンプを正常にインポートすることもできます。スクリプト内のユーザー名、ホスト名、パスワードも四重に確認しましたが、依然として接続できません。
何か単純な見落としがあるように感じます。もし方向性を示していただければ、非常に助かります。
使用しているバージョンは以下の通りです。
mysql2 0.5.2
mariadb-server-10.3
discourse master git commit cb8fa46
詳細な説明は以下にあります。
apt-get update && apt-get install libmysqlclient-dev mysql-server-5.7
を実行しようとすると、エラーが発生します。
E: パッケージ 'libmysqlclient-dev' にインストール候補がありません
E: パッケージ 'mysql-server-5.7' にインストール候補がありません
これは理にかなっています。おそらく、これらのパッケージはリポジトリから削除されたのでしょう。
そのため、代わりに以下を実行しました。
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
既存のグループを読み込み中...
既存のユーザーを読み込み中...
既存のカテゴリを読み込み中...
既存の投稿を読み込み中...
既存のトピックを読み込み中...
==================================================
ユーザー 'root'@'localhost' のアクセスが拒否されました
データベースに接続できません。
ホスト名: localhost
ユーザー名: root
パスワード:
データベース: vb4
スクリプトを編集するか、以下の環境変数を設定してください:
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'
終了します。
権限について
root@discourse:/src# mysql
MariaDB モニターへようこそ。コマンドは ; または \g で終了します。
MariaDB の接続 ID は 59 です
サーバーバージョン: 10.3.17-MariaDB-0+deb10u1 Debian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab およびその他。
ヘルプを表示するには 'help;' または '\h' を入力してください。現在の入力文をクリアするには '\c' を入力してください。
MariaDB [(none)]> show grants;
+------------------------------------------------------------------------------------------------+
| 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)
ユーザー名とパスワードを何度も二重確認し、さらに手動で設定することも試みました。
