通过SSH复制MySQL数据库



假设我有database1database2

database1-包含数据

database2-为空。


我想通过SSH将所有数据从database1复制到database2-重复database1

我应该使用什么命令?


我试过

mysqldump -u user -p database1 > database1.sql
Enter password: mysqldump: Got error: 1045: Access denied for user 'user'@'localhost' (using password: NO) when trying to connect

只需一个命令即可通过SSH复制MySQL数据库:

mysqldump -u <local-user> -p <local-db> | gzip | ssh user@hostname 
  "gunzip | mysql -u <remote-user> -p<password> <remote-db>"

请注意,必须首先创建远程数据库。

更高级的版本:

mysqldump -u <local-user> -p <local-db> | xz | pv -W | ssh user@hostname 
"tee remote-dump.sql.xz | unxz | mysql -u <remote-user> -p<password> <remote-db>"

高级版本:

  • 使用xz/unxz有更好的压缩(尽管要注意压缩速度不会成为瓶颈-如果xz的CPU为100%,那么它可能会成为瓶颈,使用gzip可能会更好)

  • 显示使用pv 的进度指示器

  • 使用tee 保存转储的副本

我还没有解决的一个问题是如何避免在远程命令中指定密码。如果能够在命令行上交互式地输入这个密码,那将是一件非常好的事情——如果有人知道如何输入,请插话。

这将数据库从S1复制到S2

mysqldump --opt <database> | gzip -c | ssh user@wherever 'cat > /tmp/yourfile.sql.gz'

解压缩文件

gunzip /tmp/yourfile.sql.gz

接下来你必须在S2 上导入

mysql -h<host> -u<user> -p<password> < /tmp/yourfile.sql

享受

使用以下2个命令:

mysqldump -u customers -p customers > customers.dump

mysql -u new_customers -p new_customers < customers.dump

(您可能会因为无法写入目录而被拒绝访问,因此您可能不得不使用cd更改目录)

来源:http://support.tigertech.net/mysql-duplicate

您需要做的第一件事是ssh到您想要从中复制数据库或将其复制到另一台服务器的服务器中。

对我有效的命令是:

mysqldump -u <database-user> -p<database-password> <database-name> | xz | ssh <target-ssh-username>@<target-hostname>  "tee remote-dump.sql.xz | unxz | mysql -u <target-database-user> -p<target-database-password> <target-database-name>"

注意:-您可以使用.cnf文件来存储数据库的用户名和密码。因为我的处决很小,所以我没有使用它。
执行此操作的链接https://www.techiecorner.com/1619/how-to-setup-mysqldump-without-password-in-cronjob/

输入命令后。它会提示您输入

**The authenticity of host 'w01b3a99.kasserver.com (85.13.164.141)' can't be established.**
Are you sure you want to continue connecting (yes/no)?

键入yes

然后它会提示您输入

*target-user@target-hostname* ssh password

输入target-user的密码密码

它将是静默执行运行。一段时间后,您的命令执行将完成。

我没有使用pv -W,因为我使用的是Cloudways服务器。尚未安装pv。他们不允许root用户访问来安装任何软件包。

最新更新