将 MySQL 数据库从一台服务器复制到另一台远程服务器
通常,您可以运行 mysqldump 来创建数据库副本和备份,如下所示:
$ mysqldump -u user -p db-name > db-name.out
使用 sftp/ssh 将 db-name.out 文件复制到远程 MySQL 服务器:
$ scp db-name.out user@remote.box.com:/backup
在远程服务器上恢复数据库(通过 ssh 登录):
$ mysql -u user -p db-name < db-name.out
或
$ mysql -u user -p 'password' db-name < db-name.out
如何将 MySQL 数据库从一台计算机/服务器复制到另一台?
简而言之,您可以使用 ssh 或 mysql 客户端将数据库从一台计算机/服务器复制到另一台计算机/服务器。
您可以使用 mysqldump 和 mysql 命令一次性运行上述所有 3 个命令(不安全的方法,仅在使用 VPN 或信任您的网络时使用):
$ mysqldump db-name | mysql -h remote.box.com db-name
如果你无法直接访问远程 mysql 服务器,请使用 ssh(安全方法):
$ mysqldump db-name | ssh user@remote.box.com mysql db-name
或者
$ mysqldump -u username -p'password' db-name | ssh user@remote.box.com mysql -u username -p'password db-name
您可以使用相同的语法将名为 foo 的表复制到名为 bar 的远程数据库(和远程 mysql 服务器 remote.box.com):
$ mysqldump db-name foo | ssh user@remote.box.com mysql bar
或者
$ mysqldump -u user -p'password' db-name foo | ssh user@remote.box.com mysql -u user -p'password' db-name foo
这不仅可以节省您的时间,还可以让您的朋友留下深刻印象 ;)。几乎所有命令都可以在 UNIX/Linux 操作系统下使用管道运行。