2012-03-13 9 views
2

リモートマシンのmysqlインストールからSSH経由でローカルマシンmysqlにデータベース全体をコピーする必要があります。SSH経由でmysqlデータベースを取得する

私はSSHと、ローカルとリモートの両方のMYSQL管理者とパスワードを知っています。

これは十分な情報ですか、どのように行われますか?

+0

データベースをローカルにコピーする方法は知っていますか? –

+0

私はあなたが見つけたと確信しています... –

答えて

4

ここ読んで試してみてください。http://www.cyberciti.biz/tips/howto-copy-mysql-database-remote-server.htmlから修正

- 私はSQLファイルの拡張子として.sqlを使用することを好むので修正:

を は次のように通常あなたは、データベースのコピーやバックアップを作成するためのmysqldumpを実行します:

$ mysqldumpを-uユーザー-pのDB名> DB-name.sql

コピーDB-name.outファイルリモートMySQLサーバへのSFTP/SSHを使用して:

$ SCPのDB-name.sql [email protected]:/バックアップ

は、リモートサーバー(SSH経由でログイン)でデータベースを復元します。

$をmysqlの-uユーザー-p DB-名<デシベル-name.sql

基本的にあなたが再生成するmysqlにパイプ、その後、ローカルマシンにコピーし、データベースのダンプを生成するために、内容をmysqldumpを使用しますDB。

mysqldumpを使用するのではなく、リモートマシン上でMySQLサービスをシャットダウンできる場合のみ、DBファイル自体をコピーできます。

+1

私はあなたが正しい答えを含むためにこの答えを編集する必要があると思う、リンクが死んで行く入れ墨 –

+1

@MildFuzz Ok。とにかく「あるサーバから別のサーバにmysqlデータベースをコピーする」というGoogleの検索結果の最初の結果だった。 –

0

XtrabackupツールをPerconaでお勧めします。これは、SSH経由でホットコピーデータをサポートしており、優れたドキュメントを持っています。 mysqldumpを使用するのとは異なり、これは、ユーザ権限、トリガ、レプリケーションなどを含むMySQLインスタンスのすべての要素をコピーします。リモートマシン

  • 0
    1. sshをローカルマシンにusing mysqldump
    2. 転送ファイルをusing scp
    3. がローカルのMySQLにダンプします
    5

    をデータベースを復元するデータベースのバックアップを作成しますあなたのローカルMySQLのリモートDBは、pipes

    ssh mysql-server "mysqldump --all-databases --quote-names --opt --hex-blob --add-drop-database" | mysql

    あなたはまた mysql.users

    にユーザーに関する注意を払う必要があります

    、ローカルホストとリモートホスト上のmysqldumpとMySQLのユーザとパスワードを入力しないようにするには、ファイル~/.my.cnfを作成することができます。

    [mysql] 
    user = dba 
    password = foobar 
    
    [mysqldump] 
    user = dba 
    password = foobar 
    

    参照してください。ローカルマシンにリモートサーバからhttp://dev.mysql.com/doc/refman/5.1/en/option-files.html

    9

    ssh {ssh.user}@{remote_host} \ 
    'mysqldump -u {remote_dbuser} --password={remote_dbpassword} 
    {remote_dbname} | bzip2 -c' \ | bunzip2 -dc | mysql -u {local_dbuser} 
    --password={local_dbpassword} -D {local_dbname} 
    
    +0

    私の唯一の問題は、sshがbzip2ストリーム上でgzipを実行していることです。おそらく、 '-C'フラグをsshにドロップする方が良いでしょう。 –

    +1

    なぜパスワードをコマンドライン引数として渡すのですか?そのマシンでpsを実行できる人なら、パスワードを見ることができます。 –

    関連する問題