導入
データベースのインポートおよびエクスポートは、ソフトウェア開発における一般的なタスクです。データのダンプを使用して情報をバックアップおよびリストアすることができます。また、それらを使用してデータを新しいサーバーや開発環境に移行することもできます。
このチュートリアルでは、MySQLまたはMariaDBのデータベースダンプを操作します(コマンドは互換性があります)。具体的には、データベースをエクスポートし、そのダンプファイルからデータベースをインポートします。
「DigitalOcean Managed Databases」を使用してデータベースを1クリックでデプロイします。DigitalOceanにスケーリング、メンテナンス、およびアップグレードを任せましょう。
前提条件
MySQLまたはMariaDBのデータベースをインポートまたはエクスポートするには、以下が必要です:
- A virtual machine with a non-root sudo user. If you need a server, go here to create a DigitalOcean Droplet running your favorite Linux distribution. After creation, choose your distribution from this list and follow our Initial Server Setup Guide.
- MySQLまたはMariaDBがインストールされていること。MySQLをインストールするには、当社のチュートリアル「MySQLのインストール方法」に従ってください。MariaDBをインストールするには、当社のチュートリアル「MariaDBのインストール方法」に従ってください。
- A sample database created in your database server. To create one, follow “Creating a Sample Database” in our tutorial, “An Introduction to Queries in MySQL”.
注意: 手動インストールの代わりに、DigitalOcean Marketplace の MySQL One-Click Application を探索することができます。
ステップ1 — MySQL または MariaDB データベースのエクスポート
mysqldump
コンソールユーティリティは、データベースを SQL テキストファイルにエクスポートします。これにより、データベースの移動や転送が容易になります。データベースの名前と、少なくともデータベースへの完全な読み取り専用アクセスを許可する権限を持つアカウントの資格情報が必要です。
mysqldump
を使用してデータベースをエクスポートします:
username
はデータベースにログインできるユーザー名です。database_name
はエクスポートするデータベースの名前です。data-dump.sql
は、出力を格納する現在のディレクトリ内のファイルです。
コマンドは視覚的な出力を生成しませんが、data-dump.sql
の内容を確認して、正当な 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-00ubuntu0.16.04.1
エクスポートプロセス中にエラーが発生した場合、mysqldump
はそれらを画面に表示します。
ステップ2 — MySQL または MariaDB データベースのインポート
既存のダンプファイルをMySQLまたはMariaDBにインポートするには、新しいデータベースを作成する必要があります。このデータベースにはインポートされたデータが格納されます。
まず、次のようにしてrootまたは新しいデータベースを作成する権限を持つ他のユーザーとしてMySQLにログインします:
このコマンドを実行すると、MySQLシェルプロンプトに移動します。次に、次のコマンドで新しいデータベースを作成します。この例では、新しいデータベースの名前はnew_database
です:
データベースの作成が確認されたメッセージが表示されます。
OutputQuery OK, 1 row affected (0.00 sec)
その後、CTRL+D
を押してMySQLシェルを終了します。通常のコマンドラインから、次のコマンドでダンプファイルをインポートできます:
username
はデータベースにログインするためのユーザー名ですnewdatabase
は新しく作成したデータベースの名前ですdata-dump.sql
はインポートするデータダンプファイルで、現在のディレクトリにあります
コマンドが正常に実行された場合、出力はありません。プロセス中にエラーが発生した場合、mysql
は代わりにそれらを端末に出力します。インポートが成功したかどうかを確認するには、MySQLシェルにログインしてデータを検査します。USE new_database
を使用して新しいデータベースを選択し、SHOW TABLES;
または類似のコマンドを使用してデータを確認します。
結論
このチュートリアルでは、MySQLまたはMariaDBデータベースからデータベースダンプを作成しました。そのデータダンプを新しいデータベースにインポートしました。mysqldump
には、システムがデータダンプを作成する方法を変更するために使用できる追加の設定があります。詳細については、公式のmysqldumpドキュメントページを参照してください。
MySQLについて詳しく知るには、MySQLリソースページをご覧ください。
MySQLクエリについて詳しく学ぶには、当社のチュートリアル、「MySQLのクエリ入門」をご覧ください。
著者は、無料かつオープンソースファンドを、寄付のための執筆プログラムの一環として選択しました。