Linuxのシステム管理者のスキルが必要ないため、Linodeから移行します。私はもっとノブフレンドリーなサービスへの移行を完了する前に、MySQLデータベースのコンテンツをダウンロードする必要があります。私はコマンドラインからこれを行うことができる方法はありますか?
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
オプションを使用します。それはあなたにそれを促してそれを記録しないでしょう。
mysqldump はあなたが探しているものです。
Mysqlの最新バージョンでは、少なくとも私のものでは、あなたは直接あなたのパスをコマンドに入れることはできません。
あなたが実行する必要があります:
mysqldump -u [uname] -p db_name > db_backup.sql
それからそれはパスワードを尋ねます。
Windowsでは、mysqldump.exeが存在するmysql binを指定する必要があります。
cd C:\xampp\mysql\bin
mysqldump -u[username] -p[password] --all-databases > C:\localhost.sql
これをbackup.cmdなどのテキストファイルに保存します。
リモートサーバーからダウンロードする場合、これは簡単な例です:
mysqldump -h my.address.amazonaws.com -u my_username -p db_name > /home/username/db_backup_name.sql
-pはパスワードを入力することを示します。db_nameとは関係ありません。コマンドを入力すると、パスワードの入力を求められます。それを入力してEnterを押してください。
MySQLのインストールディレクトリに移動し、そこからcmdを開きます。その後、下記のコマンドを実行してデータベースのバックアップを取得してください。
mysqldump -u root -p --add-drop-database --databases db> C:\db-dontdelete\db.sql
コマンドプロンプトを開き、このコマンドを直接入力します。 mysqlに入ってからこのコマンドを入力しないでください。
mysqldump -u [uname] -p[pass] db_name > db_backup.sql
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