OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
    • アイコンOceanBase Cloud
アイコン

OceanBase Cloud

すべてのバージョン

    OceanBase ロゴ

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについてトラストセンター法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBase Cloud
    3. master
    アイコンOceanBase Cloud
    master
    データベース
    • OceanBaseデータベース
    • OceanBase Cloud
    • master

    MySQL Connector/C による OB Cloud クラウドデータベース接続サンプルプログラム

    最終更新日:2026-06-08 08:05:36  更新
    シェア
    このページの内容
    前提条件
    手順
    ステップ1:データベース接続文字列を取得する
    ステップ2:MySQL Connector/Cドライバをインストールする
    ステップ3:アプリケーションを作成する
    ステップ4:アプリケーションのコンパイル
    ステップ5:アプリケーションの実行

    折りたたみ

    シェア

    MySQL Connector/C は通常 MySQL C API と呼ばれ、C 言語の関数とデータ構造のセットを提供し、開発者が C/C++ 言語を使用して MySQL データベースに接続、クエリ、管理できるようにします。この API により、開発者は C/C++ アプリケーション内で直接 MySQL データベースを利用できます。

    本記事では、MySQL Connector/C (libmysqlclient) ドライバーと OB Cloud クラウドデータベースを使用してアプリケーションを構築し、テーブルの作成、データの挿入、データのクエリなどの基本操作を実現する方法を紹介します。

    前提条件

    MySQL Connector/C (libmysqlclient) のインストールと使用を開始する前に、基本的なデータベース開発環境が設定されていることを確認してください。要件は以下の通りです:

    • GCCバージョンが3.4.6以上であること。4.8.5バージョンの使用を推奨します。
    • CMakeバージョンが2.8.12以上であること。
    • OB Cloudデータベースアカウントに登録済みであり、クラスタインスタンスとMySQL互換モードのテナントを作成していること。詳細については、クラスタインスタンスの作成およびテナントの作成を参照してください。

    手順

    1. OB Cloudデータベース接続情報を取得します。
    2. MySQL Connector/Cドライバーをインストールします。
    3. アプリケーションを作成します。
    4. アプリケーションを実行します。

    ステップ1:データベース接続文字列を取得する

    1. OceanBase Cloudコンソールにログインします。インスタンスリストページで、対象インスタンスの情報を展開し、対象テナントの下で、接続 > 接続文字列の取得 を選択します。

      詳細な操作については、接続文字列の取得を参照してください。

    2. 作成済みのOceanBase Cloudデータベースに基づいて、以下のURLの該当する情報を入力します。

      obclient -h$host -P$port -u$user_name -p$password -D$database_name
      

      パラメータ説明:

      • $host:OceanBase Cloudデータベースの接続アドレスを指定します。例:t********.********.oceanbase.cloud。

      • $port:OceanBase Cloudデータベースの接続ポートを指定します。デフォルトは3306です。

      • $database_name:アクセスするデータベース名を指定します。

        注意

        テナントに接続するユーザーは、データベースに対する CREATE、INSERT、DROP、および SELECT 権限が付与されていなければなりません。アカウント権限の詳細については、アカウントの作成と管理を参照してください。

      • $user_name:データベースにアクセスするアカウントを指定します。

      • $password:アカウントのパスワードを指定します。

      例:

      obclient -h t********.********.oceanbase.cloud -P3306 -u mysql001 -p****** -Dtest
      

    ステップ2:MySQL Connector/Cドライバをインストールする

    ## Ubuntuシステムでは以下のコマンドを使用してインストールします:
    sudo apt-get install libmysqlclient-dev
    
    ## CentOSシステムでは以下のコマンドを使用してインストールします:
    sudo yum install mysql-devel
    
    ## インストールが成功したか確認する
    mysql_config --version
    

    ステップ3:アプリケーションを作成する

    テキストエディタを開き、サンプルファイル test.cc を編集して保存します。コードは以下のとおりです:

    #include <stdio.h>
    #include <stdlib.h>
    #include <mysql/mysql.h>
    
    int main() {
        MYSQL *conn = mysql_init(NULL); // MySQL接続の初期化
    
        if (conn == NULL) {
            fprintf(stderr, "mysql_init() failed\n");
            return 1;
        }
    
        // MySQLデータベースサーバーへの接続
        if (mysql_real_connect(conn, "host", "user", "passwd", "db", port, NULL, 0) == NULL) {
            fprintf(stderr, "mysql_real_connect() failed\n");
            mysql_close(conn);
            return 1;
        }
    
        // ユーザーテーブルの作成
        if (mysql_query(conn, "CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT, name VARCHAR(255), email VARCHAR(255), PRIMARY KEY(id))") != 0) {
            fprintf(stderr, "Error in creating table: %s\n", mysql_error(conn));
            mysql_close(conn);
            return 1;
        }
    
        // データの挿入
        if (mysql_query(conn, "INSERT INTO users (name, email) VALUES ('小明', 'xiaoming@example.com')") != 0) {
            fprintf(stderr, "Error in inserting data: %s\n", mysql_error(conn));
            mysql_close(conn);
            return 1;
        }
    
        // データのクエリ
        if (mysql_query(conn, "SELECT * FROM users") == 0) {
            MYSQL_RES *result = mysql_store_result(conn);
            if (result != NULL) {
                int num_fields = mysql_num_fields(result);
                MYSQL_ROW row;
                while ((row = mysql_fetch_row(result))) {
                    for (int i = 0; i < num_fields; i++) {
                        printf("%s ", row[i] ? row[i] : "NULL");
                    }
                    printf("\n");
                }
                mysql_free_result(result);
            } else {
                fprintf(stderr, "Error in retrieving result: %s\n", mysql_error(conn));
            }
        } else {
            fprintf(stderr, "Error in selecting data: %s\n", mysql_error(conn));
        }
    
        // テーブルの削除
        if (mysql_query(conn, "DROP TABLE IF EXISTS users") != 0) {
        fprintf(stderr, "Error in dropping table: %s\n", mysql_error(conn));
        mysql_close(conn);
        return 1;
    }
        mysql_close(conn); // 接続のクローズ
        return 0;
    }
    

    ステップ1:OB Cloudデータベース接続情報を取得する で取得した情報に基づいて、プロジェクトファイル test.cc 内のデータベース接続情報を修正します。

    • Linux環境では、vi test.cc または vim test.cc コマンドを使用して test.cc ファイルを編集し、ファイル内のデータベース接続情報を実際の状況に合わせて修正します。

    test.cc ファイル内のデータベース接続情報例:

    # この部分の接続情報は、取得した接続文字列の実際の情報に変更する必要があります。例は以下のとおりです
    if (mysql_real_connect(conn, "t********.********.oceanbase.cloud", "mysql001", "********", "test", 3306, NULL, 0) == NULL) {
            fprintf(stderr, "mysql_real_connect() failed\n");
            mysql_close(conn);
            return 1;
        }
    

    ステップ4:アプリケーションのコンパイル

    コードの編集が完了したら、以下のコマンドでコンパイルします。

    gcc -o test test.cc `mysql_config --cflags --libs`
    

    コンパイルに成功すると、実行ファイル test が生成されます。

    ステップ5:アプリケーションの実行

    以下のコマンドでアプリケーションを実行します。

    ./test
    

    出力結果は次のとおりです。このような結果が出力されれば、データベースへの接続が成功し、サンプルステートメントが正しく実行されたことを意味します。

    1 小明 xiaoming@example.com
    

    前のトピック

    peeweeでOB Cloudに接続するサンプルプログラム
    最後

    次のトピック

    Go-SQL-Driver/MySQL で OB Cloud に接続するサンプルプログラム
    次
    このページの内容
    前提条件
    手順
    ステップ1:データベース接続文字列を取得する
    ステップ2:MySQL Connector/Cドライバをインストールする
    ステップ3:アプリケーションを作成する
    ステップ4:アプリケーションのコンパイル
    ステップ5:アプリケーションの実行