mysql逻辑备份 mysqldump和mydumper实践

news/2025/2/26 6:46:50

1.mysqldump

mysqldump -uroot -p'Passw0rd*' testdb1  --single-transaction --set-gtid-purged=off > 1.sql    注意:--single-transaction不会锁表,如果
不加这个参数会在全表上加S锁,不允许更新和删除,还有--set-gtid-purged=off,这两个参数生产环境一定要加上。
-G -E -R 参数是什么意思 ,是触发器 事件 存储过程
 -G, --triggers              Dump triggers
  -E, --events                Dump events
  -R, --routines              Dump stored procedures and functions

用source或者不用登录导入数据
mysql> source 1.sql
mysql -uroot -p'Passw0rd*' -D testdb2 < 1.sql

mysqldump单线程  一张表一张表的导出,且导出文件很大
文件大 经常中断,且导出后不知道是不是完整的,另外导出文件最后一行一定要显示Dump completed,才说明导出是完整的。

[mysql@p0-dtpoc-dtpoc-cache-redis03-ma01 ~]$ tail -1 1.sql 
-- Dump completed on 2025-02-25 10:58:04

所以生产环境整库导出的时候一般般用mydumper

2.mydumper


1.首先创建mydumper用户,并赋权
mysql> create user mydumper@'%' identified by 'mydumper123!';
Query OK, 0 rows affected (0.01 sec)

mysql> grant all on *.* to mydumper@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> exit

2.在跳板机客户端执行mydumper
nohup mydumper -u mydumper -p 'password' -h IP --trx-consistency-only -t 4 -v 3 -o test_bk &
--trx-consistency-only 代表本次备份只对事务表做一致性保证 
-t 4 线程数量为4
-o test_bk 输出文件
-B testdb1 备份的数据库名字
-v, --verbose               Verbosity of output, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2 输入信息的日志级别

[mysql@p0-dtpoc-mysql-jump01 test_bk3]$ mydumper -u mydumper -p 'password' -h IP -B testdb1 --trx-consistency-only -t 4 -v 3 -o test_bk4

** (mydumper:25197): WARNING **: 13:59:05.115: Using trx_consistency_only, binlog coordinates will not be accurate if you are writing to non transactional tables.
** Message: 13:59:05.126: Connected to a MySQL server
** Message: 13:59:05.130: Started dump at: 2025-02-25 13:59:05

** Message: 13:59:05.131: Written master status
** Message: 13:59:05.137: Thread 1 connected using MySQL connection ID 89
** Message: 13:59:05.147: Thread 2 connected using MySQL connection ID 90
** Message: 13:59:05.154: Thread 3 connected using MySQL connection ID 91
** Message: 13:59:05.166: Thread 4 connected using MySQL connection ID 92
** Message: 13:59:05.168: Transactions started, unlocking tables
** Message: 13:59:05.170: Thread 1 dumping data for `testdb1`.`test1`
** Message: 13:59:05.171: Thread 2 dumping schema for `testdb1`.`test1`
** Message: 13:59:05.171: Thread 3 shutting down
** Message: 13:59:05.171: Thread 4 shutting down
** Message: 13:59:05.171: Thread 1 shutting down
** Message: 13:59:05.172: Thread 2 shutting down
** Message: 13:59:05.172: Finished dump at: 2025-02-25 13:59:05

[mysql@p0-dtpoc-mysql-jump01 test_bk3]$ cd test_bk4/
[mysql@p0-dtpoc-mysql-jump01 test_bk4]$ ls -ltr
total 16
-rw-rw-r-- 1 mysql mysql 201 Feb 25 13:59 testdb1.test1.sql
-rw-rw-r-- 1 mysql mysql  69 Feb 25 13:59 testdb1-schema-create.sql
-rw-rw-r-- 1 mysql mysql 194 Feb 25 13:59 testdb1.test1-schema.sql
-rw-rw-r-- 1 mysql mysql 179 Feb 25 13:59 metadata
[mysql@p0-dtpoc-mysql-jump01 test_bk4]$


3.使用myloder导入数据。

myloader -u mydumper -p 'password' -h IP -B testdb2 -o -e -d ./test_bk2 -t 4 -v 3


[mysql@p0-dtpoc-mysql-jump01 ~]$ myloader -u mydumper -p 'password' -h IP -B testdb2 -o -e -d ./test_bk9 -t 4 -v 3
** Message: 14:16:16.989: 4 threads created
** Message: 14:16:16.989: Dropping table or view (if exists) `testdb2`.`test1`
** Message: 14:16:17.000: Creating table `testdb2`.`test1`
** Message: 14:16:17.021: Thread 1 restoring `testdb1`.`test1` part 0
** Message: 14:16:17.021: Thread 4 shutting down
** Message: 14:16:17.021: Thread 2 shutting down
** Message: 14:16:17.021: Thread 3 shutting down
** Message: 14:16:17.028: Thread 1 shutting down


http://www.niftyadmin.cn/n/5868245.html

相关文章

网络安全考题

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1。简述子网掩码的工作原理。 子网掩码也是一个32位地址&#xff0c;其作用是&#xff1a; 用于屏蔽IP地址的一部分以区分网络标识和主机标识&#xff0c;并说明该…

《论湖仓一体架构及其应用》审题技巧 - 系统架构设计师

软考论文写作框架 一、考点概述 “湖仓一体架构及其应用”这一论题&#xff0c;主要考察了考生对现代数据管理系统中湖仓一体架构的理解、应用及问题解决能力。随着5G、大数据、人工智能、物联网等技术的快速发展&#xff0c;企业数据的管理需求正发生深刻变化。传统的数据管…

深度学习进阶:构建多层神经网络

在上一篇文章中&#xff0c;我们从零开始构建了一个简单的两层神经网络&#xff0c;并通过异或问题&#xff08;XOR&#xff09;展示了神经网络的强大能力。今天&#xff0c;我们将进一步深入&#xff0c;构建一个更复杂的多层神经网络&#xff0c;并引入更多高级概念&#xff…

Kafka可视化工具EFAK(Kafka-eagle)安装部署

Kafka Eagle是什么&#xff1f; Kafka Eagle是一款用于监控和管理Apache Kafka的开源系统&#xff0c;它提供了完善的管理页面&#xff0c;例如Broker详情、性能指标趋势、Topic集合、消费者信息等。 源代码地址&#xff1a;https://github.com/smartloli/kafka-eagle 前置条件…

4.static关键字和const关键字的作用【高频】

1. static 关键字&#xff1a; 用static可以声明 静态变量&#xff0c;它存储在静态存储区中&#xff0c;它的生命周期 在整个程序运行期间 都存在。 静态局部变量&#xff1a; 参考之前 静态全局变量&#xff1a; 参考之前 类中的静态成员 在类中&#xff0c;被static声明…

React 源码揭秘 | hooks原理

上篇我们说了updateQueue的实现原理&#xff0c;这篇我们说一下hooks&#xff0c; fiberHooks实现可以在react-reconciler/fiberHooks.ts 找到。 老生常谈的问题&#xff0c;为什么hooks有顺序&#xff0c;hook函数怎么知道你在哪运行的hooks&#xff1f; 下面我们逐一讨论。…

kafka队列堆积的常见解决

1. 检查生产者是否正常工作 如果生产者速度太慢或者不稳定&#xff0c;可以通过增加生产者吞吐量来解决。 解决方案&#xff1a; 提高生产者的吞吐量&#xff1a;可以通过调整生产者配置来增加吞吐量。 设置生产者 acks 参数为 1 或 0&#xff08;如果不需要严格的消息确认&…

前端项目配置 Nginx 全攻略

在前端开发中&#xff0c;项目开发完成后&#xff0c;如何高效、稳定地将其部署到生产环境是至关重要的一步。Nginx 作为一款轻量级、高性能的 Web 服务器和反向代理服务器&#xff0c;凭借其出色的性能和丰富的功能&#xff0c;成为了前端项目部署的首选方案。本文将详细介绍在…