📣
TiDB Cloud Premium はパブリックプレビュー中です。エンタープライズワークロード向けの無制限のスケーリング、即時の弾力性、高度なセキュリティを提供します。このページは自動翻訳されたものです。原文はこちらからご覧ください。

MySQLコマンドラインクライアントを使用してTiDB Cloud Premiumにデータをインポートする



このドキュメントではMySQLコマンドラインクライアントを使用してTiDB Cloud Premium にデータをインポートする方法について説明します。( mysql )。以下のセクションでは、SQL ファイルまたは CSV ファイルからデータをインポートするための手順を段階的に説明します。このプロセスでは論理インポートが実行され、MySQL コマンドライン クライアントがローカル マシンからTiDB Cloudに対して SQL ステートメントを再生します。

前提条件

MySQLコマンドラインクライアントを使用してTiDB Cloud Premiumインスタンスにデータをインポートするには、以下の前提条件を満たす必要があります。

  • TiDB Cloud Premiumインスタンスへのアクセス権が付与されています。
  • ローカルコンピュータにMySQLコマンドラインクライアント( mysql )をインストールしてください。

ステップ1. TiDB Cloud Premiumインスタンスに接続します。

MySQLコマンドラインクライアントを使用してTiDB Cloud Premiumインスタンスに接続します。初めて接続する場合は、以下の手順を実行してネットワーク接続を設定し、 TiDB SQL rootユーザーパスワードを生成してください。

  1. TiDB Cloudコンソールにログインし、My TiDBページに移動します。次に、ターゲットのTiDB Cloud Premium インスタンスの名前をクリックして、その概要ページに移動します。

  2. 右上隅の「接続」をクリックしてください。接続ダイアログが表示されます。

  3. 接続ダイアログの設定がご使用のオペレーティング環境と一致していることを確認してください。

    • 接続タイプPublicに設定されています。

    • 「接続」はMySQL CLIに設定されています。

    • お使いの環境に合ったオペレーティングシステムを選択してください。

  4. 「パスワードを生成」をクリックすると、ランダムなパスワードが生成されます。既にパスワードを設定している場合は、そのパスワードを再利用するか、変更してから先に進んでください。

ステップ2. 対象データベースとテーブルスキーマを定義する

データをインポートする前に、データセットに一致するターゲットテーブル構造を作成してください。

以下は、サンプルデータベースとテーブルを作成するSQLファイルの例です( products-schema.sql )。データベース名またはテーブル名は、ご使用の環境に合わせて更新してください。

CREATE DATABASE IF NOT EXISTS test; USE test; CREATE TABLE products ( product_id INT PRIMARY KEY, product_name VARCHAR(255), price DECIMAL(10, 2) );

次のステップでデータをロードする前に、データベースとテーブルが存在するように、スキーマファイルをTiDB Cloud Premiumインスタンスに対して実行してください。

ステップ3. SQLファイルまたはCSVファイルからデータをインポートする

手順2で作成したスキーマにデータをロードするには、MySQLコマンドラインクライアントを使用します。必要に応じて、プレースホルダーを独自のファイルパス、認証情報、データセットに置き換え、ソース形式に合ったワークフローに従ってください。

    SQLファイルからデータをインポートするには、以下の手順を実行してください。

    1. インポートするデータを含む SQL ファイル (例: products.sql ) を提供してください。この SQL ファイルには、次のようなデータを含むINSERTステートメントが含まれている必要があります。

      INSERT INTO products (product_id, product_name, price) VALUES (1, 'Laptop', 999.99), (2, 'Smartphone', 499.99), (3, 'Tablet', 299.99);
    2. SQLファイルからデータをインポートするには、以下のコマンドを使用してください。

      mysql --comments --connect-timeout 150 \ -u '<your_username>' -h <your_instance_host> -P 4000 -D test \ --ssl-mode=VERIFY_IDENTITY --ssl-ca=<your_ca_path> \ -p<your_password> < products.sql

      プレースホルダー値(例: <your_username><your_instance_host><your_password><your_ca_path> 、およびSQLファイル名)を、ご自身の接続情報とファイルパスに置き換えてください。

    CSVファイルからデータをインポートするには、以下の手順を実行してください。

    1. TiDB にターゲットのデータベースとテーブルが存在することを確認してください (例えば、ステップ 2 で作成したproductsテーブル)。

    2. インポートしたいデータを含むサンプルCSVファイル(例: products.csv )を提供してください。以下に例を示します。

      products.csv:

      product_id,product_name,price 1,Laptop,999.99 2,Smartphone,499.99 3,Tablet,299.99
    3. 以下のコマンドを使用して、CSVファイルからデータをインポートします。

      mysql --comments --connect-timeout 150 \ -u '<your_username>' -h <your_instance_host> -P 4000 -D test \ --ssl-mode=VERIFY_IDENTITY --ssl-ca=<your_ca_path> \ -p<your_password> \ -e "LOAD DATA LOCAL INFILE '<your_csv_path>' INTO TABLE products FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES (product_id, product_name, price);"

      プレースホルダー値(例: <your_username><your_instance_host><your_password><your_ca_path><your_csv_path> 、およびテーブル名)を、ご自身の接続情報とデータセットパスに置き換えてください。

    ステップ4.インポートしたデータを検証する

    インポートが完了したら、基本的なクエリを実行して、期待どおりの行が存在し、データが正しいことを確認してください。

    MySQLコマンドラインクライアントを使用して同じデータベースに接続し、行数のカウントやサンプルレコードの検査などの検証クエリを実行します。

    mysql --comments --connect-timeout 150 \ -u '<your_username>' -h <your_instance_host> -P 4000 -D test \ --ssl-mode=VERIFY_IDENTITY --ssl-ca=<your_ca_path> \ -p<your_password> \ -e "SELECT COUNT(*) AS row_count FROM products; \ SELECT * FROM products ORDER BY product_id LIMIT 5;"

    期待される出力例:

    +-----------+ | row_count | +-----------+ | 3 | +-----------+ +------------+---------------+--------+ | product_id | product_name | price | +------------+---------------+--------+ | 1 | Laptop | 999.99 | | 2 | Smartphone | 499.99 | | 3 | Tablet | 299.99 | +------------+---------------+--------+

    プレースホルダーの値を実際の接続情報に置き換え、データセットの形状に合わせて検証クエリを調整してください。

    このページは役に立ちましたか?