「CentOSへのWSO2APIManagerのインストール」に関する前回の記事に続き、本日はMySQLデータベースを使用したWSO2の構成について説明します。デフォルトでは、WSO2 API Managerは、ゲートウェイの機能のためにデータを格納するために組み込みのH2データベースを使用します。ただし、本番環境のMySQLデータベースと統合することをお勧めします。変更する必要がないため、H2データベースでCarbonを引き続き使用できることを忘れないでください。それでは、チュートリアルに進みましょう。
MySQLデータベースを使用してWSO2APIManagerを構成する方法
MySQLのインストール
次のセクションに進む前に、MySQLサーバーとクライアントをインストールする必要があります。これがMySQLのインストールに関するガイドです。
データベースとユーザーのセットアップ
ステップ1: /etc/hosts
でデータベース権限を構成するためのホスト名を設定します ファイル。
<MYSQL-SERVER-IP> carbondb.mysql-tg.comノート:
データベースサーバーとAPIManagerが同じである場合は、この手順を無視してください。
ステップ2: データベースサーバーを起動します
# systemctl start mysqld
ステップ3: rootユーザーとしてMysqlにログインし、「apimadmin
」を作成します ‘および‘ sharedadmin
‘ユーザーアカウント。
mysql > CREATE USER 'apimadmin'@'localhost' IDENTIFIED BY 'apimadmin123'; mysql > CREATE USER 'sharedadmin'@'localhost' IDENTIFIED BY 'sharedadmin123';
ステップ4: 以下に示すようにデータベースを作成します
mysql > create database apim_db; mysql > create database shared_db;
ステップ5: それぞれのデータベースのユーザーに特権を付与します。
mysql > GRANT ALL ON apim_db.* TO apimadmin@localhost IDENTIFIED BY "apimadmin123"; mysql > GRANT ALL ON shared_db.* TO sharedadmin@localhost IDENTIFIED BY "sharedadmin123";
ステップ6: はい、これで完了です。すべての権限をリロードしてMySQLを終了しましょう。
mysql > FLUSH PRIVILEGES;
WSO2API-M用のMySQLドライバーのセットアップ
このセクションに進む前に、WSO2API-Mがすでにインストールおよび構成されていることを確認してください。そうでない場合は、このリンクにジャンプしてWSO2 API-Mを設定し、ここに戻ってください。
ステップ7: MySQL JavaコネクタJARファイルをダウンロードして、以下のフォルダに解凍します。
コネクタのバージョンを確認してくださいMySQLコネクタがインストールされているMySQLバージョンと互換性があるかどうかを必ず確認してください。
<API-M_HOME>/repository/components/lib/API-M_HOME
WSO2APIManagerのルートディレクトリを参照します。たとえば、自宅の場所にWSO2バージョン4.0.0をインストールした場合、API-M_HOMEは/home/apigw/wso2am-4.0.0
を参照します。
ダウンロードコネクタにドライバクラスがあるかどうかをすばやく確認できます– MySQL Connector / Jでは、このクラスの名前は
$ jar tvf mysql-connector-java-8.0.26.jar
WSO2DBスクリプトを使用してデータベースにデータを入力します
ステップ8: 両方のデータベースにWSO2DBスクリプトを入力します。
$ mysql -u sharedadmin -p -Dshared_db < '<API-M_HOME>/dbscripts/mysql.sql';
上記のコマンドは、shared_db
を設定します 必要なテーブルがあります。
$ mysql -u apimadmin -p -Dapim_db < '<API-M_HOME>/dbscripts/apimgt/mysql.sql';
上記のコマンドはapim_db
を設定します 必要なテーブルがあります。
手順5で作成したパスワードを尋ねられたら、忘れずにパスワードを入力してください。
MySQLデータソースを使用したWSO2の構成
データソースは、データベースへの接続を確立するために使用されます。これはdeployment.toml
で設定する必要があります 以下に示すようにファイルします。
ステップ9: <API-M_HOME>/repository/conf/deployment.toml
を開きます 構成ファイルを作成し、
ステップ10: 以下に示すように、構成要素を必要な値に変更します。
[database.shared_db] type = "mysql" url = "jdbc:mysql://localhost:3306/shared_db?useSSL=false" username = "sharedadmin" password = "sharedadmin123" driver="com.mysql.cj.jdbc.Driver" [database.apim_db] type = "mysql" url = "jdbc:mysql://localhost:3306/apim_db?useSSL=false" username = "apimadmin" password = "apimadmin123" driver="com.mysql.cj.jdbc.Driver"パスワードを変更する
データベースサーバーが別のマシンである場合は、ローカルホストを変更することを忘れないでください。また、正しいユーザー名とパスワードを置き換えます。
useSSL
とは データベース接続URLにありますか?
useSSL
データベース接続URLの最後にある引数は、SSL接続を無効にします。この引数を使用する必要があるのは、データベースへのSSL接続を無効にする場合、またはAPIマネージャーの起動中に以下のエラーが発生した場合のみです。
Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
ProductionServerでSSLを無効にしないでください 正解です!実稼働サーバーでは絶対に行わないでください。
通信リンク障害エラーを修正するための解決策は次のとおりです。
ステップ10: それでおしまい。 WSO2APIManagerを再起動します。
$ ./bin/api-manager.sh -restart
以上です。 WSO2のすべてのURLにアクセスして、すべてが正常に機能していることを確認します。
-
https://<IP or Hostname>:9443/carbon
-
https://<IP or Hostname>:9443/publisher
-
https://<IP or Hostname>:9443/devportal