为什么要迁移

mysql 迁移是 dba 日常维护中的一个工作。迁移,究其本义,无非是把实际存在的物体挪走,保证该物体的完整性以及延续性。就像柔软的沙滩上,两个天真无邪的小孩,把一堆沙子挪向其他地方,铸就内心神往的城堡。

生产环境中,有以下情况需要做迁移工作,如下:
1.磁盘空间不够。比如一些老项目,选用的机型并不一定适用于数据库。随着时间的推移,硬盘很有可能出现短缺;
2.业务出现瓶颈。比如项目中采用单机承担所有的读写业务,业务压力增大,不堪重负。如果 io 压力在可接受的范围,会采用读写分离方案;
3.机器出现瓶颈。机器出现瓶颈主要在磁盘 io 能力、内存、cpu,此时除了针对瓶颈做一些优化以外,选择迁移是不错的方案;
4.项目改造。某些项目的数据库存在跨机房的情况,可能会在不同机房中增加节点,或者把机器从一个机房迁移到另一个机房。再比如,不同业务共用同一台服务器,为了缓解服务器压力以及方便维护,也会做迁移。

一句话,迁移工作是不得已而为之。实施迁移工作,目的是让业务平稳持续地运行。

下面看下mysql单库迁移的问题。

一、导出数据库文件

1.输入导出命令

# 导出所有表结构+数据
mysqldump -h localhost -u root -p distribute_search_db > d:/distribute_search_db.sql
# 仅导出所有表结构
mysqldump -h localhost -u root -p -d distribute_search_db > d:/distribute_search_db.sql
# 仅导出某个表的表结构+数据
mysqldump -h localhost -u root -p distribute_search_db my_table > d:/distribute_search_db.sql
# 仅导出某个表的表结构
mysqldump -h localhost -u root -p -d distribute_search_db my_table > d:/distribute_search_db.sql

2.输入密码

二、上传至目标机器

三、 登录目标机器mysql,创建数据库

1.登录

mysql -u root -p

2.输入密码
3.创建数据库

create database distribute_search_db;

4.退出mysql

quit;

四、导入数据库文件

1.输入导入命令

mysql -h localhost -u root -p distribute_search_db < d:/distribute_search_db.sql

2.输入密码

到此这篇关于mysql单库迁移的文章就介绍到这了,更多相关mysql单库迁移内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!