MySQLシェルまたはコマンドラインからMySQLまたはMariaDBデータベースからデータベースをインポートまたはエクスポートします。これは、データベースまたはデータベースから特定のテーブルをエクスポートする最も簡単な方法です。
500Mb を超える巨大なデータベースがある場合、エクスポートが非常に困難になり、データベース全体のインポートまたはエクスポートに時間がかかり、タイムアウト エラーが発生する可能性があります。
このガイドでは、MySQL シェルからコマンド ラインを使用してデータベースをインポートまたはエクスポートする方法を学習します。また、データベースをエクスポートできない問題の修正についても学習します。
前提条件
- サーバー SSH アクセス
- データベースをエクスポートするための MySQL ユーザー名、データベース名、パスワード
- インポート用のデータベースを作成する権限を持つ MySQL ユーザーとパスワード
コマンド ラインから MySQL データベースをエクスポート
サーバーの SSH にログインし、データベース名、ユーザー名、およびパスワードをメモします。エクスポートするデータベースへの完全なアクセス権がユーザーにあることを確認してください。
次のコマンドを使用して、データベース全体をエクスポートできます。
mysqldump -u username -p database_name > filename.sql
ユーザー名のパスワードを入力するよう求められます。
パスワードを入力すると、データベースが .sql
にエクスポートされます 形式のファイルで、現在のディレクトリに保存されます。
データベースをエクスポートできない問題
アクセス拒否エラー。
<オール>sudo su
としてログインを試すことができます データベースをエクスポートします。アクセス拒否 PROCESS 権限エラー。
--no-tablespaces
を使用する必要があります mysqldump
のオプション 指図。したがって、コマンドは以下のようになります。
mysqldump --no-tablespaces -u username -p database_name > filename.sql
特定のテーブルのみをエクスポート
データベースの特定のテーブルをコマンド ラインからエクスポートするには、以下に示すようにテーブル名を渡す必要があります。
mysqldump -u username -p database_name table1 table2 > filename.sql
上記のコマンドは、指定されたテーブル名のみをエクスポートします。
コマンド ラインから MySQL データをインポート
これは、巨大なデータベース ファイルをエラーなしでインポートするための最良の方法です。
.sql
をアップロード サーバーにファイルします。 SSH にログインし、データベース ファイルをアップロードしたディレクトリに移動します。
データベースがない場合は、root などのユーザーとしてログインしてデータベースを作成する必要があります。
CREATE DATABASE database_name /*\!40100 DEFAULT CHARACTER SET utf8mb4 */;
データベースをインポートするには、次のコマンドを使用できます。
mysql -u username -p database_name < backup.sql
データベースに対して十分な権限があることを確認してください。
注意: >
を使用する場合 <
の代わりに . backup.sql 内のすべてのデータが消去または破損します。
ファイル サイズが大きいと、インポートまたはエクスポートに時間がかかります。
結論
これで、コマンド ラインから MySQL データベースをエクスポートおよびインポートする方法を学習しました。
御時間ありがとうございます。問題やフィードバックに直面した場合は、下にコメントを残してください。