sql >> データベース >  >> RDS >> Mysql

MySQLデータベースをインポートおよびエクスポートする方法

    この記事では、MySQLデータベースをインポートする方法とMySQLデータベースをエクスポートする方法について説明します。次のようなさまざまなシナリオでデータベースをインポートおよびエクスポートできます。

    • MySQLデータベースをあるWebホスティングアカウントまたはプロバイダーから別のプロバイダーに転送する。
    • サードパーティのMySQLデータベースをインポートします。
    • MySQLデータベースのバックアップ。

    MySQLデータベースをエクスポートする方法

    phpMyAdminまたはmysqldump を使用して、MySQLデータベースをファイルにエクスポートできます。 テーブル/データベースコマンドラインプログラム。

    メソッド#1:phpMyAdminを使用する

    phpMyAdminWebインターフェイスを使用してMySQLデータベースをエクスポートできます。これを行うには、次の手順に従います。

    1. cPanelにログインします。cPanelアカウントにログインする方法がわからない場合は、こちらの記事をご覧ください。
    2. cPanelのホーム画面の[データベース]セクションで、phpMyAdminをクリックします。

      phpMyAdmin管理ページが新しいウィンドウに表示されます。

    3. phpMyAdminページの左側のペインで、エクスポートするデータベースをクリックします。
    4. [エクスポート]タブをクリックします。
    5. [エクスポート方法]で、[クイック]が選択されていることを確認します。

      クイックオプションがない古いバージョンのphpMyAdminを使用している場合は、代わりに次の手順に従ってください。

      • [エクスポート]セクションで、[すべて選択]をクリックします。
      • [ファイルとして保存]チェックボックスを選択し、[実行]をクリックします。エクスポートプロセスが実行されます。
    6. [フォーマット]で、SQLが選択されていることを確認します。
    7. [実行]をクリックします。
    8. [ファイルの保存]ダイアログボックスで、ファイル名を入力し、エクスポートしたデータベースをローカルコンピューターに保存するディレクトリを選択します。
    9. [保存]をクリックします。エクスポートプロセスが実行されます。
    方法#2: mysqldumpを使用する テーブルプログラム

    mysqldump を使用して、コマンドラインからMySQLデータベースをエクスポートできます。 テーブル/データベースプログラム。これを行うには、次の手順に従います。

    1. データベースが保存されているコンピューターのコマンドラインにアクセスします。たとえば、データベースが別のWebホスティングアカウントまたは別のWebホスティングプロバイダーにある場合は、SSHを使用してアカウントにログインします。コンピューターに物理的にアクセスできる場合は、DOSまたはターミナルウィンドウを開いてコマンドラインにアクセスできます。
    2. 次のコマンドを入力して、Enterキーを押します。 usernameを自分のユーザー名に置き換え、dbnameをエクスポートするデータベースの名前に置き換えます。
      mysqldump --routines -u username -p dbname > dbexport.sql
      
      この例では、 dbexport.sqlを使用しています。 エクスポートされたデータベースのファイル名ですが、ファイルには任意の名前を付けることができます。
    3. パスワードの入力プロンプトでパスワードを入力します。
    4. dbexport.sql これで、ファイルにdbnameデータベースのすべてのデータが含まれます。 dbexport.sqlの場合 ファイルがリモートコンピューター上にある場合は、ファイルをローカルコンピューターにダウンロードします。
    新しいMySQLデータベースの作成とユーザーの割り当て

    データベースをインポートする前に、cPanelで新しいデータベースを作成し、それにユーザーを割り当てる必要があります。これを行うには、次の手順に従います。

    1. cPanelにログインします。cPanelアカウントにログインする方法がわからない場合は、こちらの記事をご覧ください。
    2. cPanelホーム画面の[データベース]セクションで、[MySQL®データベース]をクリックします。

    3. [新しいデータベースの作成]の[新しいデータベース]テキストボックスに、データベースの名前を入力します。
    4. [データベースの作成]をクリックします。 cPanelはデータベースを作成します。
    5. データベースが作成されたら、[戻る]をクリックします。
    6. [データベースへのユーザーの追加]の[ユーザー]リストボックスで、追加するユーザーを選択します。
    7. [データベース]リストボックスで、新しいデータベースを選択します。
    8. [追加]をクリックします。
    9. チェックボックスをオンにしてユーザー固有の権限を付与するか、[すべての権限]チェックボックスをオンにしてユーザーにデータベースへのすべての権限を付与します。
    10. [変更を加える]をクリックします。 cPanelはユーザーをデータベースに追加します。
    MySQLデータベースをインポートする方法

    cPanelで新しいデータベースを作成した後、phpMyAdminまたは mysql を使用して、データベースのコンテンツをインポートできます。 コマンドラインプログラム。

    エクスポートされたデータベースファイルにCREATEDATABASEが含まれている場合 ステートメントの場合は、それらを削除するか、コメントアウトする必要があります。そうしないと、インポートプロセスが失敗します。
    メソッド#1:phpMyAdminを使用する

    phpMyAdminWebインターフェイスを使用してMySQLデータベースをインポートできます。これを行うには、次の手順に従います。

    1. cPanelにログインします。cPanelアカウントにログインする方法がわからない場合は、こちらの記事をご覧ください。
    2. cPanelのホーム画面の[データベース]セクションで、phpMyAdminをクリックします。

      phpMyAdmin管理ページが新しいウィンドウに表示されます。

    3. phpMyAdminページの左側のペインで、データをインポートするデータベースをクリックします。
    4. [インポート]タブをクリックします。
    5. [インポートするファイル]で、[参照]をクリックし、 dbexport.sqlを選択します。 ローカルコンピュータ上のファイル。
    6. [実行]をクリックします。インポートプロセスが実行されます。
    7. データベースには、 dbexport.sqlにあるデータが含まれているはずです。 ファイル。
    方法#2: mysqlを使用する プログラム

    mysql を使用して、コマンドラインからMySQLデータベースをインポートできます。 プログラム。これを行うには、次の手順に従います。

    1. dbexport.sqlを転送します SCP、SFTP、またはFTPを使用してA2ホスティングアカウントにファイルします。
    2. SSHを使用してA2ホスティングアカウントにログインします。
    3. dbexport.sqlをアップロードしたディレクトリに移動します ファイル。たとえば、 dbexport.sqlをアップロードした場合 ファイルをホームディレクトリに移動し、cd〜と入力します。
    4. 次のコマンドを入力して、Enterキーを押します。 usernameを自分のユーザー名に置き換え、dbnameをデータをインポートするデータベースの名前に置き換えます。
      mysql -u username -p dbname < dbexport.sql
      
    5. 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にアクセスしてください。

    1. MySQL/MariaDBサーバーを保護する方法

    2. 弱く型付けされたSYS_REFCURSORである変数の%ROWTYPEを宣言する方法は?

    3. Microsoft Accessテーブルのヒント–秘訣とガイドラインパート5

    4. ネストされたクラス-CustomRowMapper!!もう問題ありません!! - パート2