麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
1462
2023-05-09
如何将所有MySQL数据库从旧服务器转移到新服务器上?
你在本文中将了解如何将所有MySQL/MariaDB数据库从旧的Linux服务器转移或迁移到新服务器,成功地导入,并证实数据已迁移到位。
重要说明:
务必确保装有同一发行版的两台服务器上安装了同一版本的MySQL。务必确保两台服务器上都有足够的闲置空间,以保存数据库转储文件和导入的数据库。千万别考虑将数据库的data目录转移到另一台服务器上。别乱动数据库的内部结构,不然将来会出问题。
将MySQL数据库导出到转储文件
先登录进入到旧服务器,使用systemctl命令,停止mysql/mariadb服务,如下所示:
# systemctl stop mariadb OR # systemctl stop mysql
然后使用mysqldump命令,将所有MySQL数据库转储到一个文件。
# mysqldump -u [user] -p --all-databases > all_databases.sql
一旦转储完毕,你就可以准备转移数据库了。
如果你想转储单单一个数据库,可以使用该命令:
# mysqldump -u root -p --opt [database name] > database_name.sql
将MySQL数据库转储文件转移到新服务器
现在使用scp命令,将数据库转储文件转移到新服务器的主目录下,如下所示:
一旦连接,数据库将转移到新服务器。
将MySQL数据库转储文件导入到新服务器
一旦MySQL转储文件转移到了新服务器,你就可以使用下列命令将所有数据库导入到MySQL。
# mysql -u [user] -p --all-databases < all_databases.sql [All Databases] # mysql -u [user] -p newdatabase < database_name.sql [Singe Database]
一旦导入完成,你可以在mysql shell上使用下列命令,核实两台服务器上的数据库。
# mysql -u user -p # show databases;
将MySQL数据库和用户转移到新服务器
如果你想把所有的MySQL数据库、用户、权限和数据结构从旧服务器统统转移到新服务器,可以使用rsync命令,将来自mysql/mariadb数据目录的所有内容转移到新服务器,如下所示:
一旦转移完成,你就可以将mysql/mariadb数据目录设成归用户mysql和用户组mysql所有,然后列出目录,检查所有文件已转移过去。
# chown mysql:mysql -R /var/lib/mysql/ # ls -l /var/lib/mysql/
就这样!你已从本文了解了如何将所有MySQL/MariaDB数据库从一台服务器轻松迁移到另一台服务器。你觉得这个方法相比其他方法怎样?欢迎留言交流。
原文标题:How to Transfer All MySQL Databases From Old to New Server,作者:Aaron Kili
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。