GBase 8c 5.0.0バージョンは、プロトコル層インターフェースを抽象化することで、DolphinプラグインのサポートによりMySQLプロトコル互換を実現しています。dbcompatibility='B'(以下B互換データベースと呼称)を設定することで、ユーザーは関連パラメータを設定後、MySQLのJDBCドライバまたはMySQLコマンドラインクライアントを介してGBase 8cに直接接続できます。
Dolphinプラグインの利用方法
プラグインは自動的にインストールおよびロードされるため、手動での操作は不要です。
(1) OMツールを使用してGBase8sをインストールします。詳細は「GBase 8c V5_5.0.0_インストールデプロイメントマニュアル」を参照してください。
(2) B互換データベースを作成し、初期ユーザーで接続します。Dolphinプラグインはデフォルトで有効化されています。
create database mydb with DBCOMPATIBILITY='B';
\q
$gsql -d mydb -p 15400 -U gbase
Dolphinの制限事項
- 小型化バージョンはサポートされていません。
- dolphinプラグインの削除はサポートされていません。
- dolphinプラグインはB互換性データベースでのみ作成可能です。
- dolphinプラグインはpg_catalogなどのスキーマにデータ型、関数などを生成するため、ロードには初期ユーザー権限が必要です。GBase8sは、Bデータベースに初期ユーザーまたは初期ユーザー権限を持つユーザーが初めて接続した際にdolphinプラグインを自動的にロードします。B互換性データベースが初期ユーザーまたは初期ユーザー権限を持つユーザーによって接続されたことがない場合、dolphinプラグインはロードされません。
- dolphinで追加/変更された構文はgsqlクライアントの\hコマンドによるヘルプ表示や自動補完をサポートしていません。
- dolphinプラグインの作成は、データベースに存在する同名の関数、型、および依存オブジェクトを削除します。
- dolphinプラグインはpublicスキーマに依存するため、dropschemaを使用したpublicスキーマの削除はサポートされていません。
- dolphinプラグインがインストールされたB互換性データベースに接続すると、GUCパラメータbehavior_compat_optionsが自動的に変更され、display_leading_zeroとselect_into_return_nullオプションが追加され、互換性が維持されます。
対応状況
現在サポートされているMySQLクライアントバージョン
- MySQL JDBC Driver:5.1.47
- MySQLコマンドラインクライアント:5.7.26~5.7.42
非サポート機能
- カーソル(JDBCのuseCursorFetch、setFetchSizeを使用したデータ取得)
- ストアドプロシージャの実行
利用方法
Bタイプのデータベースを作成し、ユーザーを作成してMySQLネイティブパスワードを設定します(必要に応じてGRANTコマンドで新規ユーザーに権限を付与できます):
CREATE DATABASE mysql_test_db DBCOMPATIBILITY 'B';
\c mysql_test_db
CREATE USER mysql_user WITH PASSWORD 'Password123';
SELECT set_native_password('mysql_user', 'Password123');
dolphinデータベースプロトコル機能を有効化するパラメータを設定します:
gs_guc set -N all -I all -c "enable_dolphin_proto = on"
注記:POSTMASTERタイプのパラメータのため、変更には再起動が必要です。
MySQLプロトコルリスニングポートを設定します。dolphin_server_portは、GBase 8c自身のリスニングポートportと異なる必要があります。
gs_guc set -N all -I all -c "dolphin_server_port = 3307"
注記:POSTMASTERタイプのパラメータのため、変更には再起動が必要です。
データベースに複数のB互換データベースが存在する場合、dolphin.default_database_nameでデフォルト接続データベース名を設定します。
alter database mysql_test set dolphin.default_database_name = my_database;
設定完了後、MySQLクライアントを使用して対応するユーザー名とパスワードでGBase 8cに接続できます。
利用上の注意点
- MySQLクライアントでGBase 8cに接続する前に、listen_addresses設定が正しく構成されていることを確認してください。また、pg_hbaがMySQLクライアントが存在するマシンのIPからの接続を許可していることを確認してください。
- MySQLクライアントで接続する際は、mysql -u [ユーザー名] -p --port [dolphin_server_port] -h [GBase 8cリスニングアドレス] の形式で接続できます。