mysqldump备份并恢复到远程服务器

时间:2010-05-04 20:04:50

标签: mysql 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

6 个答案:

答案 0 :(得分:13)

link提供有关使用mysqldump进行备份和还原的信息。它还给出了远程服务器的一些示例。

该链接的重要命令是:

备份:

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

恢复:

mysql -u root -p[root_password] [database_name] < dumpfilename.sql

答案 1 :(得分:2)

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 :(得分:2)

[local-server]# mysqldump -u root -prootpswd db | mysql \
                 -u root -ptmppassword --host=remote-server -C db1

[注意:主持人面前有两个 - (连字符)]

请注意,在执行以下命令之前,应首先在远程服务器上创建db1数据库。

答案 3 :(得分:1)

您的本地密码包含>字符,大多数shell都将其解释为redirect character。作为一般规则,如果您将MySQL密码保留为字母数字[A-Za-z0-9],它将使您的生活更加轻松。如果您避免公开发布密码,它将使您的系统更安全。

答案 4 :(得分:0)

这是我为快速转储到另一台远程服务器所做的工作...... 假设您已在2台服务器之间设置了ssh密钥

  • 创建文件dump-to-server.sh
  • chmod to executable(chmod 0755 dump-to-server.sh
  • 运行同步./dump-to-server.sh schema_name root@remote.server.net

<强> dump-to-server.sh

\#!/bin/bash

if [[ -z "$1" || -z "$2" ]]; then
  echo "--------- usage ---------";
  echo "./dump-to-server.sh schema_name root@remote.server.net";
  echo "";
else
  mysqldump --opt "$1" | gzip -c | ssh "$2" "gunzip -c | mysql $1"
fi

答案 5 :(得分:0)

对于单个数据库,从远程服务器进行备份是:

mysqldump -u<user> -p<pwd> -h<remote-host> [database-name] > dump.sql

还原为:

mysql -u<user> -p<pwd> -h<remote-host> [database-name] < dump.sql

有关mysqldump选项的更多详细信息,请参见: https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html