【问题标题】:mysqldump backup and restore to remote servermysqldump 备份和恢复到远程服务器
【发布时间】:2010-05-04 20:04:49
【问题描述】:

如何使用 mysqldump 将数据库备份和恢复到远程服务器?

两者都具有 root 访问权限。我正在使用腻子来执行此操作。

到目前为止,我尝试了以下方法:

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

【问题讨论】:

  • 对于未来的通知,我会谨慎地公开发布您的数据库凭据。希望你改变了它们!

标签: mysql mysqldump


【解决方案1】:

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

来自该链接的重要命令是:

备份:

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

恢复:

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

【讨论】:

  • 我确实在使用它,但是当我输入命令 mysqldump 时,它只给我一个命令提示符
【解决方案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

【讨论】:

    【解决方案3】:
    [local-server]# mysqldump -u root -prootpswd db | mysql \
                     -u root -ptmppassword --host=remote-server -C db1
    

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

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        • 创建文件 dump-to-server.sh
        • chmod 到可执行文件 (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
        

        【讨论】:

          【解决方案6】:

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

          mysqldump -u&lt;user&gt; -p&lt;pwd&gt; -h&lt;remote-host&gt; [database-name] &gt; dump.sql

          恢复是:

          mysql -u&lt;user&gt; -p&lt;pwd&gt; -h&lt;remote-host&gt; [database-name] &lt; dump.sql

          有关 mysqldump 选项的更多详细信息可在此处获得: https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-07-02
            • 1970-01-01
            • 1970-01-01
            • 2011-11-12
            • 1970-01-01
            相关资源
            最近更新 更多