MySQLまたはMariaDBでデータベースをインポートおよびエクスポートする方法
序章
データベースのインポートとエクスポートは、ソフトウェア開発の一般的なタスクです。 データダンプを使用して、情報をバックアップおよび復元できます。 これらを使用して、データを新しいサーバーまたは開発環境に移行することもできます。
このチュートリアルでは、MySQLまたはMariaDBでデータベースダンプを操作します(コマンドは交換可能です)。 具体的には、データベースをエクスポートしてから、そのデータベースをダンプファイルからインポートします。
前提条件
MySQLまたはMariaDBデータベースをインポートまたはエクスポートするには、次のものが必要です。
- root以外のsudoユーザーがいる仮想マシン。 サーバーが必要な場合は、ここにアクセスして、お気に入りのLinuxディストリビューションを実行するDigitalOceanドロップレットを作成してください。 作成後、このリストからディストリビューションを選択し、初期サーバーセットアップガイドに従ってください。
- MySQLまたはMariaDBがインストールされています。 MySQLをインストールするには、チュートリアルMySQLのインストール方法に従ってください。 MariaDBをインストールするには、チュートリアルMariaDBのインストール方法に従ってください。
- データベースサーバーで作成されたサンプルデータベース。 作成するには、チュートリアル「MySQLのクエリの概要」の「サンプルデータベースの作成」に従ってください。
注:手動インストールの代わりに、DigitalOceanMarketplaceのMySQLワンクリックアプリケーションを探索できます。
ステップ1—MySQLまたはMariaDBデータベースのエクスポート
The mysqldump
コンソールユーティリティは、データベースをSQLテキストファイルにエクスポートします。 これにより、データベースの転送と移動が簡単になります。 データベースへの少なくとも完全な読み取り専用アクセスを許可する特権を持つアカウントのデータベースの名前と資格情報が必要になります。
使用する mysqldump
データベースをエクスポートするには:
- mysqldump -u username -p database_name > data-dump.sql
username
は、データベースにログインできるユーザー名です。database_name
エクスポートするデータベースの名前ですdata-dump.sql
出力を格納する現在のディレクトリ内のファイルです。
このコマンドは視覚的な出力を生成しませんが、の内容を調べることができます data-dump.sql
正当なSQLダンプファイルであるかどうかを確認します。
次のコマンドを実行します。
- head -n 5 data-dump.sql
ファイルの先頭は次のようになり、次の名前のデータベースのMySQLダンプが表示されます。 database_name
.
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にログインします。
- mysql -u root -p
このコマンドにより、MySQLシェルプロンプトが表示されます。 次に、次のコマンドを使用して新しいデータベースを作成します。 この例では、新しいデータベースは次のように呼び出されます。 new_database
:
- CREATE DATABASE new_database;
データベースの作成を確認するこの出力が表示されます。
OutputQuery OK, 1 row affected (0.00 sec)
次に、を押してMySQLシェルを終了します CTRL+D
. 通常のコマンドラインから、次のコマンドを使用してダンプファイルをインポートできます。
- 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のクエリの概要」をご覧ください。