当前位置: 首页 > news >正文

数据库运维:mysql 数据库迁移方法-mysqldump

数据库运维需要掌握的技能之一数据库的迁移,而MySQL数据库是我们常用的数据库之一,掌握mysql 数据库的数据迁移,也是必备的技能选项。数据库的迁移,我们必须要思考如下几个点:

  1. 需要迁移数据库的数据量大小

  2. 需要迁移的数据库对象是什么,

  3. 考虑使用何种迁移方法!

    这三个思考要点,适合于所用的数据库迁移,请大家留意。

    思考mysql 数据库迁移,第一步就需要基于数据库或表,统计每一个数据库或表占用存储空间,根据所占用的空间大小以及实际迁移时遇到的应用场景,决定使用什么迁移方法。比如数据库大小在10 GB 以下,可以考虑使用mysqldump 作为逻辑导出source导入,实现迁移。数据库大小在10 GB 以上,就可以考虑mydumper ,myloader工具导出导入。如果导出数据库大小在100 GB 以上就可以考虑使用物理迁移等方法!以上三种迁移思路针对的一般方法,如果一个数据库的表数量比较多(100个以上),单个表占用空间为1G左右,也适合用mydumper导出,myloader导入。所以本系列mysql 数据库迁移基于数据量大小,结合不同的应用场景,实现mysql 数据库快速迁移。用户掌握一些特定的应用场景与使用工具,结合自己实际应用场景,做出灵活选择方法,实现快速数据迁移的方法。

    Mysql 数据库需要迁移的对象包括表,索引,视图,触发器,事件,存储过程与函数

    迁移方法主要有两种,逻辑备份迁移与物理备份迁移,mysqldump/mydumper/myloader 都是逻辑备份与恢复工具。

使用mysqldump 导出与source 导入

Mysqldump 导出工具,mysql数据库安装后都有该工具,所以使用mysqldump 工具导出也时最方便的工具。使用mysqldump 的优点就是方便快捷的使用,不用安装;缺点是导入时受目标服务器的内存与CPU 资源限制,导入会花很长的时间导入。

Mysqldump 使用-B 参数,默认导出数据库的表,索引,视图,触发器等对象,需要导出存储过程与函数,需要使用-R 参数,不同参数的组合,可以帮助我们操作一些失败的对象。

统计mysql 数据库需要迁移的数据量大小

统计mysql数据库的数据库大小主要考虑的数据与索引占用的空间,需要使用的系统表为information_schema.tables

1.计算数据库总空间大小

select table_schema as ‘数据库’,  concat(round((sum(DATA_LENGTH)+sum(INDEX_LENGTH))/1024/1024/1024,2),'G') as total_size from information_schema.tables group by table_schema;

2.计算数据库的数据大小

SELECT table_schema as ‘数据库’, concat(round(sum(DATA_LENGTH/1024/1024/1024),2),'GB') as data_size FROM information_schema.TABLES group by TABLE_SCHEMA;

3.计算数据库索引长度

SELECT table_schema as ‘数据库’, concat(round(sum(INDEX_LENGTH/1024/1024/1024),2),'GB') as index_size FROM information_schema.TABLES group by TABLE_SCHEMA;

基于某一个库计算每一个表的空间大小

1.计算数据库的表占用空间大小,并按表的大小降序排列

select table_schema as '数据库',table_name,  concat(round((DATA_LENGTH+INDEX_LENGTH)/1024/1024,2),'MB') as total_size from information_schema.tables where table_schema='XXXX' order by round((DATA_LENGTH+INDEX_LENGTH)/1024/1024,2) desc;

2.计算数据库的表数据占用空间大小, ,并按表的大小降序排列

SELECT table_schema as '数据库', table_name,  concat(round(DATA_LENGTH/1024/1024,2),'MB') as data_size FROM information_schema.TABLES where table_schema='XXXX' order by round(DATA_LENGTH/1024/1024,2) desc;

3.计算数据库的表索引占用空间大小

SELECT table_schema as '数据库', table_name,  concat(round(INDEX_LENGTH/1024/1024,2),'MB') as index_size FROM information_schema.TABLES where table_schema='XXXX' order by round(INDEX_LENGTH/1024/1024,2) desc;

查看mysql 需要迁移的存储过程与函数

Mysql 的非表对象比较少,主要包括函数,存储过程,视图

Mysql8 查询的系统表为information_schema.routines

select * from information_schema.routines where routine_schema ='XXXX';  -- XXXX代表数据库名称

mysql5.7 查询

select `name` from mysql.proc where db = 'XXXX' -- -- XXXX代表数据库名称

使用mysqldump 导出数据库

#mysqldump -uroot -p11111111 -B dt_news -R --single-transaction >dt_news.sqlmysqldump: [Warning] Using a password on the command line interface can be insecure.-B 参数,会在备份的sql 语句中产生CREATE DATABASE /*!32312 IF NOT EXISTS*/ `dt_news` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;

如果目标库中的数据库与源库不一致,需要单独在目标库中创建数据库,同时源库中导出就不使用-B 参数, 直接使用数据库名称,使用source 导入

导入数据库

将数据复制到目标库中,使用source 数据文件路径 导入数据库

# source /home/mysql/dt_new.sql

参考信息

  • Mysql 数据库只导出数据的存储过程与函数
#mysqldump -uroot -p11111111  -ndt -B dt_news -R --single-transaction >dt_news.sql

-n 不创建数据库,-d 不迁移数据,-t 不产生创建表格的语句

  • Mysql 数据库只导出数据结构
mysqldump -uroot -p11111111 -d -B dt_news >dt_news_view1.sql

导出创建数据库语句,表语句,以及视图信息




http://www.jsqmd.com/news/54629/

相关文章:

  • 2025年液压多通路旋转接头厂家权威推荐榜单:液压旋转接头/高温旋转接头‌/高速旋转接头‌源头厂家精选
  • 2025年兰州牛肉面加盟品牌推荐排行榜Top5
  • 2025年陇尚合牛肉面加盟top10:权威排名与深度解析
  • 制氮机推荐厂商TOP5权威测评:小型制氮机优质生产商甄选指南
  • 2025年上海口碑好的兰州牛肉拉面加盟公司前十排名推荐
  • 2025年兰州拉面加盟品牌权威排行榜TOP5:陇尚合领跑行业
  • 2025年高速旋转接头厂家权威推荐榜单:旋转接头/高温旋转接头‌/液压多通路旋转接头‌源头厂家精选
  • 2025信誉好的长江游轮品牌企业TOP5推荐:有实力的长江游
  • 2025插线排生产商TOP5权威推荐:定制化解决方案助力企业
  • 2025年靠谱的搅拌高温风机行业内口碑厂家排行榜
  • .NETCore、.NET 7 和 RabbitMQ 的发布-订阅模式 - 教程
  • V型滤池运行维护指南:标准化日常清洗流程
  • 2025年评价高的智能压铸/锌合金压铸用户好评厂家排行
  • 2025年十大伸缩楼梯品牌售后服务与安装效率排行榜,新乡优品
  • 方纸桶设备生产企业TOP5权威推荐:环保达标、售后完善、技术
  • 2025年热门的铝制品压铸最新TOP厂家排名
  • 2025年靠谱的5G 基站精密压铸加工行业内口碑厂家排行榜
  • 读社会工程卷2:解读肢体语言05读后总结与感想兼导读
  • 2025年中国制氮机正规厂商推荐:制氮机定制生产服务靠谱企业
  • 2025年AI音箱加工厂/生产商推荐:AI音箱加工厂选哪家好
  • 2025年热门的定制化精密压铸加工/CNC 精密压铸加工行业内知名厂家排行榜
  • 制氮机优质生产商TOP5权威推荐:甄选企业助力工业气体需求升
  • 2025年监狱防自缢系统制造商十大推荐榜单,监狱防自缢系统供
  • 2025年口碑好的现场机加工在线带压开孔/现场机加工水切割高评价厂家推荐榜
  • 前端开发必备:socketjs.min.js、stomp.min.js与jquery下载指南 - 指南
  • 2025年比较好的现场机加工法兰面修复厂家最新TOP实力排行
  • 【2025】Solid Edge下载安装教程(附安装包)保姆级安装步骤 - 实践
  • 2025年靠谱的斑马鱼繁殖设备高标准精选榜
  • 2025年质量好的斑马鱼养殖设备推荐排行榜
  • 2025年中国膜结构停车棚企业排名:7字型膜结构停车棚一般寿