VPS ホストのポート 3306 を公共のインターネットに公開しないでください。MySQL の暗号化されていないポートは安全ではありません。
VPS ホストで mysqldump を実行していて、結果のダンプ ファイルのみを PC に転送する場合は、これを安全に行うことができます。
VPS に ssh できる場合は、scp も使用できるはずです。これにより、ファイルを安全に転送できます。
1&1 での scp の使用に関する FAQ 記事を次に示します。「 1&1 scp」をグーグルで検索すると、これが見つかりました。
http://faq.1and1.co.uk/server/root_server/linux_recovery/9.html
ホーム PC で mysqldump を実行し、VPS ホスト上の MySQL にリモートで接続する必要がある場合は、次のオプションがあります。
10/11 のコメントについて:
VPSをリモートでバックアップするには、自宅のPCからコマンドを実行する必要があります。
私は...代わりにバックアップファイルを直接受け取りたいので、VPSには何も保存しないでください。
さて、ポート3306を公開せずにできることは次のとおりです。
$ ssh marcos@192.168.1.3 'mysqldump ...options.. | gzip -c' > ~/dump.sql.gz
そのコマンドの引用符の位置に注意してください。VPS で次のコマンドを実行していますmysqldump ...options.. | gzip -c
。そのコマンドの標準出力は、ダンプの gzip ストリームです。そのストリームは ssh 経由で返さ>
れ、出力が PC のシェルにローカルに保存されます。
10/13 のコメントについて:
現在、MySQL サーバーにアクセスするための資格情報を含むオープン テキスト ファイルをサーバーに保存しています。つまり、誰かがサーバーに侵入した場合、サーバーのコンテンツが破損するだけでなく、MySQL データベースと情報が破損して盗まれる可能性があります。私は正しいですか?
MySQL 5.6 を使用している場合は、新しい機能を使用して、接続資格情報を半暗号化された方法で保存できます。http://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.htmlを参照してください。
MySQL 5.5 以前を使用している場合は、その通りです。ファイルのアクセス許可を慎重に制限する必要がありますmy.cnf
。モード 600 で十分です (つまり、実行可能ファイルではありません)。
しかし、誰かがサーバーに侵入した場合、root アクセスで侵入した可能性があります。この場合、読み取るファイルを制限することはできません。
MySQL には、誰かが root アクセス権を取得した場合にアクセスをブロックするのに十分なセキュリティがないため、侵入を防ぐために他の手段を使用するのはあなた次第です。ファイアウォールなど