web-dev-qa-db-ja.com

コマンドラインからMySQLダンプをダウンロードする

Linuxのシステム管理者のスキルが必要ないため、Linodeから移行します。私はもっ​​とノブフレンドリーなサービスへの移行を完了する前に、MySQLデータベースのコンテンツをダウンロードする必要があります。私はコマンドラインからこれを行うことができる方法はありますか?

244
Phillip Copley

mysqldump コマンドライン関数を使用してこれを達成できます。

例えば:

それがDB全体の場合、

   $ mysqldump -u [uname] -p[pass] db_name > db_backup.sql

すべてDBの場合は、

   $ mysqldump -u [uname] -p[pass] --all-databases > all_db_backup.sql

DB内の特定のテーブルの場合

   $ mysqldump -u [uname] -p[pass] db_name table1 table2 > table_backup.sql

Gzipを使って出力を自動圧縮することさえ可能です(DBが非常に大きい場合)。

   $ mysqldump -u [uname] -p[pass] db_name | gzip > db_backup.sql.gz

remote を実行して問題のサーバーにアクセスできる場合は、次のようになります(MySQLサーバーがポート3306にあると仮定して)。

   $ mysqldump -P 3306 -h [ip_address] -u [uname] -p[pass] db_name > db_backup.sql

コマンドラインを実行したフォルダに.sqlファイルをドロップするはずです。

編集: コメントに記載されているように、コマンド履歴にパスワードが含まれないようにするには、パスワードなしで-pオプションを使用します。それはあなたにそれを促してそれを記録しないでしょう。

541
nickhar

mysqldump はあなたが探しているものです。

15
Faruk Sahin

Mysqlの最新バージョンでは、少なくとも私のものでは、あなたは直接あなたのパスをコマンドに入れることはできません。

あなたが実行する必要があります:

mysqldump -u [uname] -p db_name > db_backup.sql

それからそれはパスワードを尋ねます。

9
Lorenzo Lerate

Windowsでは、mysqldump.exeが存在するmysql binを指定する必要があります。

cd C:\xampp\mysql\bin

mysqldump -u[username] -p[password] --all-databases > C:\localhost.sql

これをbackup.cmdなどのテキストファイルに保存します。

4
drooh

リモートサーバーからダウンロードする場合、これは簡単な例です:

mysqldump -h my.address.amazonaws.com -u my_username -p db_name > /home/username/db_backup_name.sql

-pはパスワードを入力することを示します。db_nameとは関係ありません。コマンドを入力すると、パスワードの入力を求められます。それを入力してEnterを押してください。

4
Andrew

MySQLのインストールディレクトリに移動し、そこからcmdを開きます。その後、下記のコマンドを実行してデータベースのバックアップを取得してください。

mysqldump -u root -p --add-drop-database --databases db> C:\db-dontdelete\db.sql
1
user8376416

コマンドプロンプトを開き、このコマンドを直接入力します。 mysqlに入ってからこのコマンドを入力しないでください。

mysqldump -u [uname] -p[pass] db_name > db_backup.sql
1
Nithin Raja

Cmdにmysqldumpまたはmysqldump --helpと入力するだけでhow to useが表示されます。

これが私の cmdの結果です

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

デフォルトポート以外のMySQLを実行している場合:

mysqldump.exe -u username -p -P PORT_NO database > backup.sql
0
Anand Raj