如何使用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
答案 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密钥
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