如何将大型 MySQL 数据库从一台服务器迁移到另一台服务器?
Posted
技术标签:
【中文标题】如何将大型 MySQL 数据库从一台服务器迁移到另一台服务器?【英文标题】:How do I relocate a big MySQL database from one server to another? 【发布时间】:2017-10-04 20:31:15 【问题描述】:各位,希望你们都做得很好。我正在做服务器搬迁。我有一个带有大数据库(8GB)的网站。现在我不能只从 phpmyadmin 下载整个数据库,然后在新服务器上进行导入(这将非常耗时,而且我没有那么快的互联网)。但是我的服务器确实有一个快速的互联网,所以我在考虑是否可以使用服务器的资源进行迁移。有没有人以前做过?我该怎么做?我知道Linux。如果您能以任何方式帮助我,我将非常感谢您。
【问题讨论】:
您可以使用mysqldump
导出您的数据库,scp
将其导出到您的新服务器,然后使用mysql
命令从那里导入。如果您需要帮助,我可以建议unix/linux community吗?
感谢@rickdenhaan
您将需要对两个 Linux 系统的 shell 访问权限才能做到这一点,而不会出现真正奇怪的扭曲。 mysqldump
、gzip
、split
和 scp
是你在源服务器上最好的新朋友。 cat
、gunzip
和 mysql
命令行客户端是您在目标服务器上的朋友。
我知道了@O.Jones 感谢您的建议。
【参考方案1】:
你可以使用 SSh 通过 mysqldump 导出数据库
mysqldump -u [USERNAME] -p [DBNAME] | gzip > [/path_to_file/DBNAME].sql.gz
然后将数据库文件上传到新服务器并启动此命令
gzip [/path_to_file/DBNAME].sql.gz | mysql -u[USER] -p[PASS] [DBNAME]
【讨论】:
如果你还想备份存储过程,使用-R以上是关于如何将大型 MySQL 数据库从一台服务器迁移到另一台服务器?的主要内容,如果未能解决你的问题,请参考以下文章
将数据从一台服务器迁移到另一台服务器,同时保持少数表数据不变,使用 pg_restore 时基本上排除少数表