著者は、 Write for DOnations プログラムの一環として、 Free and Open SourceFundを選択して寄付を受け取りました。

序章

データベースのインポートとエクスポートは、ソフトウェア開発の一般的なタスクです。 データダンプを使用して、情報をバックアップおよび復元できます。 これらを使用して、データを新しいサーバーまたは開発環境に移行することもできます。

このチュートリアルでは、MySQLまたはMariaDBでデータベースダンプを操作します(コマンドは交換可能です)。 具体的には、データベースをエクスポートしてから、そのデータベースをダンプファイルからインポートします。

前提条件

MySQLまたはMariaDBデータベースをインポートまたはエクスポートするには、次のものが必要です。

注:手動インストールの代わりに、DigitalOceanMarketplaceのMySQLワンクリックアプリケーションを探索できます。

ステップ1—MySQLまたはMariaDBデータベースのエクスポート

mysqldumpコンソールユーティリティは、データベースをSQLテキストファイルにエクスポートします。 これにより、データベースの転送と移動が簡単になります。 データベースへの少なくとも完全な読み取り専用アクセスを許可する特権を持つアカウントのデータベースの名前と資格情報が必要になります。

mysqldumpを使用して、データベースをエクスポートします。

  1. mysqldump -u username -p database_name > data-dump.sql
  • usernameは、データベースにログインできるユーザー名です。
  • database_nameはエクスポートするデータベースの名前です
  • data-dump.sqlは、出力を格納する現在のディレクトリ内のファイルです。

このコマンドは視覚的な出力を生成しませんが、data-dump.sqlの内容を調べて、それが正当なSQLダンプファイルであるかどうかを確認できます。

次のコマンドを実行します。

  1. head -n 5 data-dump.sql

ファイルの先頭は次のようになり、database_nameという名前のデータベースのMySQLダンプが表示されます。

SQL dump fragment
-- MySQL dump 10.13 Distrib 5.7.16, for Linux (x86_64) -- -- Host: localhost Database: database_name -- ------------------------------------------------------ -- Server version 5.7.16-0ubuntu0.16.04.1

エクスポートプロセス中にエラーが発生した場合、mysqldumpはそれらを画面に出力します。

ステップ2—MySQLまたはMariaDBデータベースをインポートする

既存のダンプファイルをMySQLまたはMariaDBにインポートするには、新しいデータベースを作成する必要があります。 このデータベースは、インポートされたデータを保持します。

まず、 root または新しいデータベースを作成するのに十分な権限を持つ別のユーザーとして、MySQLにログインします。

  1. mysql -u root -p

このコマンドにより、MySQLシェルプロンプトが表示されます。 次に、次のコマンドを使用して新しいデータベースを作成します。 この例では、新しいデータベースの名前はnew_databaseです。

  1. CREATE DATABASE new_database;

データベースの作成を確認するこの出力が表示されます。

Output
Query OK, 1 row affected (0.00 sec)

次に、CTRL+Dを押してMySQLシェルを終了します。 通常のコマンドラインから、次のコマンドを使用してダンプファイルをインポートできます。

  1. mysql -u username -p new_database < data-dump.sql
  • usernameは、データベースにログインできるユーザー名です。
  • newdatabaseは、新しく作成されたデータベースの名前です
  • data-dump.sqlは、現在のディレクトリにある、インポートされるデータダンプファイルです。

コマンドが正常に実行されると、出力は生成されません。 プロセス中にエラーが発生した場合、mysqlは代わりにそれらを端末に出力します。 インポートが成功したかどうかを確認するには、MySQLシェルにログインしてデータを調べます。 USE new_databaseで新しいデータベースを選択し、SHOW TABLES;または同様のコマンドを使用して、一部のデータを確認します。

結論

このチュートリアルでは、MySQLまたはMariaDBデータベースからデータベースダンプを作成しました。 次に、そのデータダンプを新しいデータベースにインポートしました。 mysqldumpには、システムがデータダンプを作成する方法を変更するために使用できる追加の設定があります。 詳細については、公式mysqldumpドキュメントページを参照してください。

MySQLの詳細については、MySQLリソースページをご覧ください。

MySQLクエリの詳細については、チュートリアル「MySQLのクエリの概要」をご覧ください。