web-dev-qa-db-ja.com

mysqldumpのバックアップとリモートサーバーへの復元

Mysqldumpを使用してデータベースをリモートサーバーにバックアップおよび復元するにはどうすればよいですか?

どちらもrootアクセスが可能です。私はこれを実行するためにPuTTYを使用しています。

これまで私は以下を試しました:

mysqldump -u root -p >z*x311a!@ masdagn_joom15 | mysql \ -u root -p g2154hE6-AsXP --Host=207.210.71.26 -C masdagn_joom15temp \g

しかしそれは拒否しました

ローカルパスワードは次のとおりです:> z * x311a!@

リモートパスワードは次のとおりです。g2154hE6-AsXP

13
manhag

この link は、mysqldumpを使用したバックアップと復元に関する情報を提供します。また、リモートサーバーの例もいくつか示します。

そのリンクからの重要なコマンドは次のとおりです。

バックアップ:

mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

復元:

mysql -u root -p[root_password] [database_name] < dumpfilename.sql
14
NebuSoft
[local-server]# mysqldump -u root -prootpswd db | mysql \
                 -u root -ptmppassword --Host=remote-server -C db1

[注:ホストの前に2つ-(ハイフン)があります]

次のコマンドを実行する前に、まずリモートサーバー上にdb1データベースを作成する必要があることに注意してください。

2
Amar Pratap
mysqldump --user=username --password=pwd db_name | bzip2 -c > /backup_dir/db_name.sql.bz2

この部分をスクリプトに埋め込んだ後、FTPを使用して他の場所に転送できます。

復元するには、次のことができます

bzip2 -d db_name.sql.bz2
mysql --user=username --password=pwd db_name < db_name.sql
2
grokus

ローカルパスワードには>文字が含まれています。これは、ほとんどのシェルで リダイレクト文字 として解釈されます。原則として、MySQLパスワードを英数字の[A-Za-z0-9]に保つと、作業が大幅に楽になります。また、パスワードを公に投稿することを避ければ、システムの安全性が高まります。

1
Mikkel

これは、別のリモートサーバーへのクイックダンプのために私が行うことです... 2つのサーバー間にsshキーを設定したと仮定します

  • ファイルdump-to-server.shを作成します
  • 実行可能ファイルへのchmod(chmod 0755 dump-to-server.sh
  • 同期を実行します./dump-to-server.sh schema_name [email protected]

dump-to-server.sh

\#!/bin/bash

if [[ -z "$1" || -z "$2" ]]; then
  echo "--------- usage ---------";
  echo "./dump-to-server.sh schema_name [email protected]";
  echo "";
else
  mysqldump --opt "$1" | gzip -c | ssh "$2" "gunzip -c | mysql $1"
fi
0
Artistan