程序员

如何将所有MySQL数据库从旧服务器转移到新服务器上?

作者:admin 2021-07-22 我要评论

【51CTO.com快译】在服务器之间转移或迁移MySQL/MariaDB数据库通常只需要几个轻松的步骤,但转移数据要花一段时间,长短取决于想要转移的数据多少。 你在本文中...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

如何将所有MySQL数据库从旧服务器转移到新服务器上?

【51CTO.com快译】在服务器之间转移或迁移MySQL/MariaDB数据库通常只需要几个轻松的步骤,但转移数据要花一段时间,长短取决于想要转移的数据多少。

你在本文中将了解如何将所有MySQL/MariaDB数据库从旧的Linux服务器转移或迁移到新服务器,成功地导入,并证实数据已迁移到位。

重要说明:

  • 务必确保装有同一发行版的两台服务器上安装了同一版本的MySQL。
  • 务必确保两台服务器上都有足够的闲置空间,以保存数据库转储文件和导入的数据库。
  • 千万别考虑将数据库的data目录转移到另一台服务器上。别乱动数据库的内部结构,不然将来会出问题。

将MySQL数据库导出到转储文件

先登录进入到旧服务器,使用systemctl命令,停止mysql/mariadb服务,如下所示:

  1. # systemctl stop mariadb  
  2. OR  
  3. # systemctl stop mysql  

然后使用mysqldump命令,将所有MySQL数据库转储到一个文件。

  1. # mysqldump -u [user] -p --all-databases > all_databases.sql 

一旦转储完毕,你就可以准备转移数据库了。

如果你想转储单单一个数据库,可以使用该命令:

  1. # mysqldump -u root -p --opt [database name] > database_name.sql 

将MySQL数据库转储文件转移到新服务器

现在使用scp命令,将数据库转储文件转移到新服务器的主目录下,如下所示:

  1. # scp all_databases.sql user@example.com:~/ [All Databases]  
  2. # scp database_name.sql user@example.com:~/ [Singe Database 

一旦连接,数据库将转移到新服务器。

将MySQL数据库转储文件导入到新服务器

一旦MySQL转储文件转移到了新服务器,你就可以使用下列命令将所有数据库导入到MySQL。

  1. # mysql -u [user] -p --all-databases < all_databases.sql [All Databases]  
  2. # mysql -u [user] -p newdatabase < database_name.sql [Singe Database 

一旦导入完成,你可以在mysql shell上使用下列命令,核实两台服务器上的数据库。

  1. # mysql -u user -p  
  2. # show databases;  

将MySQL数据库和用户转移到新服务器

如果你想把所有的MySQL数据库、用户、权限和数据结构从旧服务器统统转移到新服务器,可以使用rsync命令,将来自mysql/mariadb数据目录的所有内容转移到新服务器,如下所示:

  1. # rsync -avz /var/lib/mysql/* user@example.com:/var/lib/mysql/ 

一旦转移完成,你就可以将mysql/mariadb数据目录设成归用户mysql和用户组mysql所有,然后列出目录,检查所有文件已转移过去。

  1. # chown mysql:mysql -R /var/lib/mysql/  
  2. # ls -l /var/lib/mysql/  

就这样!你已从本文了解了如何将所有MySQL/MariaDB数据库从一台服务器轻松迁移到另一台服务器。你觉得这个方法相比其他方法怎样?欢迎留言交流。

原文标题:How to Transfer All MySQL Databases From Old to New Server,作者:Aaron Kili

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】


本文转载自网络,原文链接:http://www.51cto.com/

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 如何将所有MySQL数据库从旧服务器转移

    如何将所有MySQL数据库从旧服务器转移

  • 写给新人的数据库入门指南

    写给新人的数据库入门指南

  • 图解数据库脏读、不可重复读、幻读

    图解数据库脏读、不可重复读、幻读

  • MySQL中Update修改数据与原数据相同会

    MySQL中Update修改数据与原数据相同会

腾讯云代理商
海外云服务器