mysql逻辑备份 mysqldump和mydumper实践

news/2025/2/26 21:22:34/

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.ppmy.cn/news/1575095.html

相关文章

【Vue 3 | Uniapp】 从一个页面 (index) 传输数值到另一个页面 (form) 的方法详解(附Demo)

目录 前言1. URL 参数2. eventChannel 通信3. Vuex共享4. localStorage 或 sessionStorage 前言 在 Vue 3 开发中&#xff0c;经常需要在不同组件或页面之间传递数据&#xff0c;例如从 index 页面获取某个数值&#xff08;如 cntr、tradeId&#xff09;后&#xff0c;将其传输…

智能升级、安全加倍,遨游防爆对讲机拉起通信安防线

在充斥着爆炸性气体和易燃物质的危险作业环境中&#xff0c;通信设备的选择关乎生命安全。一旦通信设备引发电火花&#xff0c;其后果将不堪设想。因此&#xff0c;专为防范易燃易爆环境而设计的防爆对讲机&#xff0c;凭借其独特的防爆技术和设计&#xff0c;成为了这些高风险…

kafka的ACL配置的sasl.kerberos.principal.to.local.rules配置解释

kafka配置acl认证的用户名转换规则 1、Kerberos中的介绍2、自定义sasl user name3、自定义ssl 的用户名4、关于kafka配置kerberos以及开启acl的实践 1、Kerberos中的介绍 Kerberos 关于此配置项的解释 https://web.mit.edu/Kerberos/krb5-latest/doc/admin/conf_files/krb5_co…

DeepSeek 助力 Vue 开发:打造丝滑的 复选框(Checkbox)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…

Arm 将自己制造芯片

众所周知&#xff0c;几乎任何目前市面上的手机芯片都是arm公司设计的&#xff0c;这家公司只设计CPU&#xff0c;由苹果、三星、英伟达等厂家再自行生产移动端CPU。 2025年这家英国芯片设计巨头宣布&#xff1a; Arm 将不再只是自己设计芯片&#xff0c;它将自己制造芯片&…

职场发展-遇到以下情况请直接准备后手吧

本文纯来自个人经历&#xff0c;大家可以当个笑话看&#xff0c;但是现实有时候就是这样 1.开始抓细节&#xff0c;作为一个工厂&#xff0c;突然开始抓考勤&#xff0c;开始计较一些之前从来没管过的的事&#xff0c;你就得心思心思是不是要裁员了&#xff0c;也就可以找后手…

目标检测中单阶段检测模型与双阶段检测模型详细对比与说明

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

为什么要将PDF转换为CSV?CSV是Excel吗?

在企业和数据管理的日常工作中&#xff0c;PDF文件和CSV文件承担着各自的任务。PDF通常用于传输和展示静态的文档&#xff0c;而CSV因其简洁、易操作的特性&#xff0c;广泛应用于数据存储和交换。如果需要从PDF中提取、分析或处理数据&#xff0c;转换为CSV格式可能是一个高效…