この記事では、MySQLデータベースをインポートする方法とMySQLデータベースをエクスポートする方法について説明します。次のようなさまざまなシナリオでデータベースをインポートおよびエクスポートできます。
- MySQLデータベースをあるWebホスティングアカウントまたはプロバイダーから別のプロバイダーに転送する。
- サードパーティのMySQLデータベースをインポートします。
- MySQLデータベースのバックアップ。
MySQLデータベースをエクスポートする方法
phpMyAdminまたはmysqldump を使用して、MySQLデータベースをファイルにエクスポートできます。 テーブル/データベースコマンドラインプログラム。
メソッド#1:phpMyAdminを使用する
phpMyAdminWebインターフェイスを使用してMySQLデータベースをエクスポートできます。これを行うには、次の手順に従います。
- cPanelにログインします。cPanelアカウントにログインする方法がわからない場合は、こちらの記事をご覧ください。
- cPanelのホーム画面の[データベース]セクションで、phpMyAdminをクリックします。
phpMyAdmin管理ページが新しいウィンドウに表示されます。
- phpMyAdminページの左側のペインで、エクスポートするデータベースをクリックします。
- [エクスポート]タブをクリックします。
-
[エクスポート方法]で、[クイック]が選択されていることを確認します。
クイックオプションがない古いバージョンのphpMyAdminを使用している場合は、代わりに次の手順に従ってください。
- [エクスポート]セクションで、[すべて選択]をクリックします。
- [ファイルとして保存]チェックボックスを選択し、[実行]をクリックします。エクスポートプロセスが実行されます。
- [フォーマット]で、SQLが選択されていることを確認します。
- [実行]をクリックします。
- [ファイルの保存]ダイアログボックスで、ファイル名を入力し、エクスポートしたデータベースをローカルコンピューターに保存するディレクトリを選択します。
- [保存]をクリックします。エクスポートプロセスが実行されます。
方法#2: mysqldumpを使用する テーブルプログラム
mysqldump を使用して、コマンドラインからMySQLデータベースをエクスポートできます。 テーブル/データベースプログラム。これを行うには、次の手順に従います。
- データベースが保存されているコンピューターのコマンドラインにアクセスします。たとえば、データベースが別のWebホスティングアカウントまたは別のWebホスティングプロバイダーにある場合は、SSHを使用してアカウントにログインします。コンピューターに物理的にアクセスできる場合は、DOSまたはターミナルウィンドウを開いてコマンドラインにアクセスできます。
- 次のコマンドを入力して、Enterキーを押します。 usernameを自分のユーザー名に置き換え、dbnameをエクスポートするデータベースの名前に置き換えます。
mysqldump --routines -u username -p dbname > dbexport.sql
この例では、 dbexport.sqlを使用しています。 エクスポートされたデータベースのファイル名ですが、ファイルには任意の名前を付けることができます。 - パスワードの入力プロンプトでパスワードを入力します。
- dbexport.sql これで、ファイルにdbnameデータベースのすべてのデータが含まれます。 dbexport.sqlの場合 ファイルがリモートコンピューター上にある場合は、ファイルをローカルコンピューターにダウンロードします。
データベースをインポートする前に、cPanelで新しいデータベースを作成し、それにユーザーを割り当てる必要があります。これを行うには、次の手順に従います。
- cPanelにログインします。cPanelアカウントにログインする方法がわからない場合は、こちらの記事をご覧ください。
- cPanelホーム画面の[データベース]セクションで、[MySQL®データベース]をクリックします。
- [新しいデータベースの作成]の[新しいデータベース]テキストボックスに、データベースの名前を入力します。
- [データベースの作成]をクリックします。 cPanelはデータベースを作成します。
- データベースが作成されたら、[戻る]をクリックします。
- [データベースへのユーザーの追加]の[ユーザー]リストボックスで、追加するユーザーを選択します。
- [データベース]リストボックスで、新しいデータベースを選択します。
- [追加]をクリックします。
- チェックボックスをオンにしてユーザー固有の権限を付与するか、[すべての権限]チェックボックスをオンにしてユーザーにデータベースへのすべての権限を付与します。
- [変更を加える]をクリックします。 cPanelはユーザーをデータベースに追加します。
cPanelで新しいデータベースを作成した後、phpMyAdminまたは mysql を使用して、データベースのコンテンツをインポートできます。 コマンドラインプログラム。
エクスポートされたデータベースファイルにCREATEDATABASEが含まれている場合 ステートメントの場合は、それらを削除するか、コメントアウトする必要があります。そうしないと、インポートプロセスが失敗します。メソッド#1:phpMyAdminを使用する
phpMyAdminWebインターフェイスを使用してMySQLデータベースをインポートできます。これを行うには、次の手順に従います。
- cPanelにログインします。cPanelアカウントにログインする方法がわからない場合は、こちらの記事をご覧ください。
- cPanelのホーム画面の[データベース]セクションで、phpMyAdminをクリックします。
phpMyAdmin管理ページが新しいウィンドウに表示されます。
- phpMyAdminページの左側のペインで、データをインポートするデータベースをクリックします。
- [インポート]タブをクリックします。
- [インポートするファイル]で、[参照]をクリックし、 dbexport.sqlを選択します。 ローカルコンピュータ上のファイル。
- [実行]をクリックします。インポートプロセスが実行されます。
- データベースには、 dbexport.sqlにあるデータが含まれているはずです。 ファイル。
方法#2: mysqlを使用する プログラム
mysql を使用して、コマンドラインからMySQLデータベースをインポートできます。 プログラム。これを行うには、次の手順に従います。
- dbexport.sqlを転送します SCP、SFTP、またはFTPを使用してA2ホスティングアカウントにファイルします。
- SSHを使用してA2ホスティングアカウントにログインします。
- dbexport.sqlをアップロードしたディレクトリに移動します ファイル。たとえば、 dbexport.sqlをアップロードした場合 ファイルをホームディレクトリに移動し、cd〜と入力します。
- 次のコマンドを入力して、Enterキーを押します。 usernameを自分のユーザー名に置き換え、dbnameをデータをインポートするデータベースの名前に置き換えます。
mysql -u username -p dbname < dbexport.sql
- dbnameデータベースには、 dbexport.sqlにあるデータが含まれているはずです。 ファイル。
MySQLデータベースインポートのトラブルシューティング
phpMyAdminまたはmysqlを使用してMySQLデータベースをインポートしようとすると、次のいずれかのエラーメッセージが表示される場合があります。 プログラム:
- エラー1044:ユーザー' username1のアクセスが拒否されました '@' localhost 'データベースへ'username2_database '
このエラーメッセージは、インポートファイルに間違ったユーザー名でデータベースにアクセスしようとするSQLステートメントが含まれている場合に発生します。この例では、 username2 username2_database username1と一致しません ' username1 '@' localhost '。インポートファイルを編集して、 username2を変更する必要があります 新しいusername1 。 - エラー1049:不明なデータベース' username_database '
このエラーメッセージは、ターゲットデータベースが存在しない場合に発生します。上記のように最初にデータベースを作成してから、もう一度インポートしてみてください。 - エラー1064:SQL構文にエラーがあります。 ' username_database の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。 '行x 。
このエラーメッセージは、インポートファイルにデータベースのバックアップデータが含まれていない場合、またはファイルにMySQL構文エラーがある場合に発生します。または、インポートファイルが変更されているか、破損しているか、サポートされていない形式である可能性があります。 (インポートファイルにはSQLステートメントが含まれている必要があります。CSVなどの他のファイル形式は mysqlでは機能しません。 プログラム。)データベースを再度エクスポートしてから、インポートしてみてください。 - エラー1227:アクセスが拒否されました。この操作にはSUPER特権(少なくとも1つ)が必要です
このエラーメッセージは、インポートファイルにスーパーユーザー権限を必要とする1つ以上のSQLステートメント( SET GLOBAL など)が含まれている場合に発生します。 またはCREATEDEFINER ステートメント)。場合によっては、これらのステートメントを .sqlから削除するだけで済みます。 ファイルを作成し、インポートプロセスを再実行します。たとえば、 CREATE DATABASE すでにcPanelでデータベースを作成しているはずなので、ステートメントは安全に削除できます。ただし、MySQLスーパーユーザーアクセスが必要な場合は、アカウントをVPSまたは専用サーバーに移行することを検討する必要があります。VPSまたは専用サーバーでは、環境を完全に制御できます。共有サーバーでのMySQLユーザー権限の詳細については、この記事を参照してください。 >
- mysqldumpの詳細については テーブル/データベースコマンドラインプログラムについては、http://dev.mysql.com/doc/refman/5.1/en/mysqldump.htmlにアクセスしてください。
- mysqlの詳細については コマンドラインプログラムについては、http://dev.mysql.com/doc/refman/5.1/en/mysql.htmlにアクセスしてください。
- phpMyAdminの詳細については、http://www.phpmyadmin.netにアクセスしてください。