MyphpAdminを使わずに大きなデータベースをエクスポートする方法

Bitnami 環境の MySQL で、大きなデータベースをテーブルごとに個別の SQL ファイルとしてエクスポート し、パスワード入力を毎回省略する方法を紹介します。

目次

1. MySQL のパスワード入力を省略する方法

Bitnami 環境では、MySQL に接続するたびにパスワードを求められるため、以下の設定を行うことで省略できます。

手順

設定ファイルを作成

nano ~/.my.cnf

次の内容を入力

[client]
user=your_user
password=your_password
host=localhost

YOUR_PASSWORD を実際の MySQL root パスワードに置き換えてください。

ファイルの権限を変更

chmod 600 ~/.my.cnf

これでセキュリティを確保しつつ、自動ログインが可能になります。

動作確認

MySQL に接続する際、パスワード入力なしでログインできることを確認します。

shCopyEdit/opt/bitnami/mysql/bin/mysql

2. 各テーブルを個別の SQL ファイルとしてエクスポート

データベース全体を 1 つの SQL ファイルとしてエクスポートすると、サイズが大きくなり、phpMyAdmin でインポートできなくなることがあります。そのため、テーブルごとに分割してエクスポートします。

手順

エクスポート用ディレクトリを作成

mkdir -p ~/sql_export cd ~/sql_export

各テーブルを個別にエクスポート

table in $(/opt/bitnami/mysql/bin/mysql -D database_name -e 'SHOW TABLES;' -s --skip-column-names); do /opt/bitnami/mysql/bin/mysqldump database_name "$table" --no-tablespaces > "${table}.sql" done

database_name → エクスポートしたいデータベース名に置き換えてください。

--no-tablespaces を追加することで、PROCESS 権限エラーを回避します。

各テーブルが ~/sql_export/.sql ファイルとして保存されます。


3. エクスポートした SQL ファイルを圧縮(オプション)

大量の SQL ファイルができるため、まとめて圧縮することもできます。

shCopyEdittar -czvf database_backup.tar.gz ~/sql_export

この .tar.gz ファイルをダウンロードし、ローカル環境や別のサーバーで解凍して利用できます。


[補足] MySQL の復元(インポート)方法

エクスポートした .sql ファイルを MySQL にインポートするには、次の方法を使います。

個別のテーブルをインポート

shCopyEdit/opt/bitnami/mysql/bin/mysql -D database_name < table_name.sql

すべてのファイルを一括インポート

shCopyEditfor file in ~/sql_export/*.sql; do
  /opt/bitnami/mysql/bin/mysql -D database_name < "$file"
done

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です