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

mysql数据库的导入导出专题

导出参数(备份)
在这里插入图片描述
导入参数(恢复)
在这里插入图片描述
常用组合示例

导出单个数据库(含数据、表结构、触发器、存储过程)
mysqldump -u root -p --single-transaction --triggers -R mydatabase > backup.sql导出多个数据库(仅结构)
mysqldump -u root -p -B db1 db2 --no-data > schema_backup.sql导入备份文件到指定数据库
mysql -u root -p -D mydatabase < backup.sql导出时排除指定表
mysqldump -u root -p mydatabase --ignore-table=mydatabase.logs > backup_no_logs.sql

场景一: 适用于周末全网测试、升级前先备份主库、升级后再备份主库、周末测试恢复升级后主库、测试过程中如有调整的数据库,恢复后需要重新执行(非全量导出导入无需,重新做主备)

1、导出单个数据库 (测试完恢复的数据、单库导入无需重做主备)

/usr/local/mysql/bin/mysqldump -uroot -p \
--set-gtid-purged=OFF \
--hex-blob \
--single-transaction \
--no-create-db \
--triggers \
--routines \
--events \
--master-data=2 \
--default-character-set=utf8mb4 mall_business_v6 > mall_business_v6_20241025.sql

2、导出整个数据库(用于整个库备份、以防单个备份的有异常)

/usr/local/mysql/bin/mysqldump -uroot -p \
--set-gtid-purged=OFF \
--hex-blob \
--single-transaction \
--no-create-db \
--triggers \
--routines \
--events \
--master-data=2 \
--default-character-set=utf8mb4 nacosdb > nacosdb_20241025.sql

3、单库导入(测试完成恢复,单库数据)

time /user/local/mysql/bin/mysql -uroot -p \
-S /data/mysql/mysql3306/tmp/mysql.sock \
--default-character-set=utf8mb4 -B nacosdb < nacos_bak_202400906.sql

4、全库导入(有问题的时候使用,time可以显示导入的时间)

time /user/local/mysql/bin/mysql -uroot -p \
-S /data/mysql/mysql3306/tmp/mysql.sock < Fulldb202400906.sql

5、检查主从同步

show slave status\G

场景二: 适用于单个数据库迁移,需要从A服务器将db1,迁移到B服务器中。(可以A服务导出,在复制到A服务,如果网络互通,也可以直接B服务上直接导出)

1、在B服务上新建数据库、用户

--新创建数据库db-1:
CREATE DATABASE db1 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
--创建用户db_user: 
CREATE USER 'db_user'@'%' IDENTIFIED BY 'Pnacos_20060808';
--授予nacos用户对nacos数据库的所有权限:
GRANT ALL PRIVILEGES ON DB1.* TO 'db_user'@'%';
--刷新权限:
FLUSH PRIVILEGES;
--验证创建
SHOW DATABASES;
SELECT user, host FROM mysql.user;
SHOW GRANTS FOR 'db_user'@'%';

2、导出A服务上数据库

/usr/local/mysql/bin/mysqldump -h[A_IP] -P[A-port] -uroot -p \
--set-gtid-purged=OFF \
--single-transaction \
--hex-blob \
--no-create-db \
--triggers \
--routines \
--events \
--master-data=2 \
--default-character-set=utf8mb4 db1 > db1_20250xxxx.sql

3、将A服务上导出的数据库导入到B服务中

time /usr/local/mysql/bin/mysql -uroot -p -B \
--default-character-set=utf8mb4  db1 < db1_20250xxxx.sql 

4、数据校验

-- 检查表数量
SELECT COUNT(*) FROM information_schema.tables 
WHERE table_schema = 'db1';-- 对比源数据库(在服务器A执行)
SELECT COUNT(*) FROM information_schema.tables 
WHERE table_schema = 'db1';-- 抽样检查数据
SELECT COUNT(*) FROM db1.important_table;

5、常见错误
在这里插入图片描述
问题原因:是由于原数据库为打开binlog日志导致。
解决方案:去掉 --master-data=2参数重新导出。

http://www.xdnf.cn/news/12225.html

相关文章:

  • SpringBoot parent依赖高版本覆盖低版本问题
  • 《小明的一站式套餐服务平台》
  • Go内存模型基础:理解内存分配机制
  • 从OCR到Document Parsing,AI时代的非结构化数据处理发生了什么改变?
  • OpenProject:一款功能全面的开源项目管理软件
  • 2.0 阅读方法论与知识总结
  • grafana 批量视图备份及恢复(含数据源)
  • 【拓扑】1639.拓扑排序
  • python版若依框架开发:python版若依部署
  • 【系统架构设计师】绪论-系统架构概述
  • Cisco Packet Tracer软件如何修改文件存储位置
  • 【计算机组成原理 第5版】白、戴编著 第三章多层次的存储器 题型总结2 cache部分
  • Java异步编程难题拆解技术
  • LVS、NGINX、HAPROXY的调度算法
  • Spring Cloud 深度解析:构建高可用微服务架构实践指南
  • 文本内容变化引起布局尺寸变化 导致的 UI 适配问题
  • 工业软件低代码开发平台技术架构研究
  • SQL语法
  • ROS 2 环境下使用 Astra Pro 深度相机实现目标距离检测及远程可视化全流程总结
  • 制作一款打飞机游戏65:时间表修正
  • AirSim/Cosys-AirSim 游戏开发(一)XBox 手柄 Windows + python 连接与读取
  • 估计二维结构的数量
  • 尝试使用gocryptfs实现大模型加密部署
  • AI书签管理工具开发全记录(十):命令行中结合ai高效添加书签
  • Vue指令修饰符、v-bind对样式控制的增强、computed计算属性、watch监视器
  • 【c++】STL-string容器的使用
  • 第九届御网杯做题笔记(misc和web)(部分题其他的要么不会要么可以用gpt可以秒)
  • redis进入后台操作、查看key、删除key
  • PostgreSQL-基于PgSQL17和11版本导出所有的超表建表语句
  • JavaScript中判断两个对象是否相同(所有属性的值是否都相同)