mysql8 导入导出工具类,支持windows 和linux

概述

1)导入导出工具类 支持windows 和linux,详见第3部分
2)导入、导出参数在 dbeaver 中应用,详见第4部分
整理原因:

1)中文乱码
--default-character-set=utf8 
2)BLOB 导出后,导入失败
--hex-blob

1、mysql 导出参数

这些参数组合在一起,旨在生成一个完整、高效、可靠的导出文件,适用于备份和迁移数据库。

参数:--skip-lock-tables --routines --add-drop-table --disable-keys --extended-insert --default-character-set=utf8 --hex-blob1、--skip-lock-tables:
此选项在导出表时不锁定它们。这可以避免在导出过程中阻止其他会话的操作,但可能会导致导出数据的一致性问题,特别是如果表在导出过程中发生了更改。2、--routines:
导出存储过程和函数。这对于备份数据库中所有的逻辑非常重要。3、--add-drop-table:
在导出文件中包含 DROP TABLE 语句。这意味着在导入导出文件时,会先删除表,然后再重新创建它们。这对于确保目标数据库中的表结构与源数据库一致非常有用。4、--disable-keys:
在导出文件中包含 ALTER TABLE ... DISABLE KEYS 和 ALTER TABLE ... ENABLE KEYS 语句。这在导入过程中会暂时禁用并重新启用索引,从而加速导入速度。5、--extended-insert:
使用扩展插入语句。这意味着多个行的数据会被合并到一个 INSERT 语句中,从而减少导出文件的大小并加快导入速度。6、--default-character-set=utf8:
指定导出文件的默认字符集为 UTF-8。这可以确保字符数据在导入时不会出现乱码。7、--hex-blob:
将 BLOB 字段的数据以十六进制格式导出。这对于确保二进制数据在传输和存储过程中不被损坏非常有用。

2、mysql 导入参数

导入参数:
1、--default-character-set=utf8
指定导入过程中使用的默认字符集。例如:--default-character-set=utf8。下面为非必须
1、--force:
在发生错误时继续执行。这对于导入过程中遇到错误但希望继续导入剩余数据的情况很有用。2、--verbose:
启用详细模式,会输出更多的导入过程信息。3、--show-warnings:
显示警告信息。启用此选项可以在导入过程中看到警告。4、--comments:
保留 SQL 文件中的注释。5、--ignore-errors:
忽略指定的错误类型。

3、导入、导出工具类

支持windows 和linux

package com.xxx;import cn.hutool.core.util.StrUtil;
import cn.hutool.system.SystemUtil;import java.util.HashMap;public class DatabaseUtil {/*** 获取mysql备份命令** @param dbHost* @param dbName* @param username* @param pwd* @return*/public static String mysqlBackLinuxCmd(String dbHost, String dbName, String username, String pwd, String saveSqlFile) {return String.format("mysqldump --skip-lock-tables --routines" +" --add-drop-table --disable-keys --extended-insert" +" --default-character-set=utf8 --hex-blob" +" -h%s -u%s -p%s -R %s > %s", dbHost,username, pwd, dbName, saveSqlFile);}/*** 获取mysql备份命令* 切换磁盘需要添加,并奇幻盘符下命令执行** @param dbHost* @param dbName* @param username* @param pwd* @return*/public static String mysqlBackWindowsCmd(String dbHost, String dbName, String username, String pwd, String saveSqlFile) {return String.format("d: && cd D:/Program Files/MySQL/MySQL Server 8.0/bin && .\\mysqldump.exe --skip-lock-tables " +" --routines --add-drop-table --disable-keys --extended-insert --default-character-set=utf8 --hex-blob" +" -h%s -u%s -p%s -R %s > %s", dbHost,username, pwd, dbName, saveSqlFile);}/*** 获取mysql备份恢复命令** @param dbHost* @param dbName* @param username* @param pwd* @return*/public static String mysqlRecoveryWindowsCmd(String dbHost, String dbName, String username, String pwd, String sqlPath) {return String.format("d: && cd D:/Program Files/MySQL/MySQL Server 8.0/bin && .\\mysql.exe --default-character-set=utf8 -h%s -u%s -p%s %s < %s", dbHost,username, pwd, dbName, sqlPath);}/*** 获取mysql备份恢复命令** @param dbHost* @param dbName* @param username* @param pwd* @return*/public static String mysqlRecoveryLinuxCmd(String dbHost, String dbName, String username, String pwd, String sqlPath) {return String.format("mysql --default-character-set=utf8 -h%s -u%s -p%s %s < %s", dbHost,username, pwd, dbName, sqlPath);}
}

4、命令在 dbeaver 中 应用

导出:
1、工具导出添加参数 --default-character-set=utf8
2、工具导出勾选如下选项
在这里插入图片描述
导入:
1、工具导入添加参数 --default-character-set=utf8
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/866546.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt(二)弹窗类 颜色对话框 字体对话框 资源文件

文章目录 一、QDebug类和QMessagebox类&#xff08;一&#xff09;QDebug类&#xff1a;打印调试类&#xff08;二&#xff09;QMessagebox类&#xff1a;弹窗类2. 修改组件图标&#xff08;1&#xff09;通过ui界面&#xff08;2&#xff09;通过QIcon的方式&#xff08;3&…

数据结构-字符串

字符串 什么是字符串&#xff1f; 字符串是在任何编程语言中都非常重要的一种数据类型。 在 Python 中&#xff0c;字符串是由引号包裹的任意字符组成的不可变序列&#xff0c;用于表示文本类型数据。 字符串定义 字符串可以通过使用 单引号 或 双引号 或 三引号 来定义&a…

【笔试记录】腾讯音乐 | 20230903 | cpp (更新ing)

1 完美数 1.1 题目描述 小红定义一个数为“完美数”&#xff0c;当且仅当该数仅有一个非零数字。例如 5000, 4, 1, 10, 200 都是完美数。 小红拿到了一个大小为 n&#xff08;2 < n < 2000&#xff09;的数组 a&#xff0c;她希望选择数组中的两个元素&#xff08;1 …

代码随想录算法训练营第75天:总结篇[1]

代码随想录算法训练营第75天&#xff1a;总结篇 代码随想录姑且是都过了一遍了&#xff0c;最开始了解到的时候还不会c语法&#xff0c;跟着学习还是有难度的&#xff0c;也很难坚持着去写题&#xff0c;后面决定加入训练营与大家齐头并进&#xff0c;刚开始气氛很好&#xff…

【CentOS 7 上安装 Oracle JDK 8u333】

文章目录 下载 Oracle JDK 8u333&#xff1a;上传 RPM 包到服务器安装 Oracle JDK设置 JAVA_HOME 环境变量验证 下载 Oracle JDK 8u333 访问 https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html 找到 JDK 8u333 版本&#xff0c;并下载适用于 L…

TTS文本转声音:fish-speech 推理、requests访问接口案例

参考: https://hub.docker.com/r/lengyue233/fish-speech https://speech.fish.audio/inference/#http-api 下载 下载模型: HF_ENDPOINT=https://hf-mirror.com huggingface-cli download fishaudio/fish-speech-1.2 --local-dir checkpoints/fish-speech-1.2下载的内容有…

maven项目、idea抽风问题解决

开发的时候遇到奇奇怪怪的非技术问题&#xff0c;解决起来会费时间&#xff0c;做无用功。   这里记录常见的情况和解决方法 1.未识别maven项目 文件的图标变成了这种橙色的&#xff0c;而且有主启动函数也不能run 右键pom文件&#xff0c;点击Add as Maven Project 如果…

【在大模型RAG系统中应用知识图谱】

【引子】 关于大模型及其应用方面的文章层出不穷&#xff0c;聚焦于自己面对的问题&#xff0c;有针对性的阅读会有很多的启发&#xff0c;本文源自Whyhow.ai 上的一些文字和示例。对于在大模型应用过程中如何使用知识图谱比较有参考价值&#xff0c;特汇总分享给大家。 在基于…

c语言的字符串拷贝函数strcpy()的行为

/*** 字符串函数* 符串复制函数* strcpy()和strncpy()* 覆盖行为** strcpy()简单易用&#xff0c;但需要程序员确保目标缓冲区足够大&#xff0c;以避免缓冲区溢出。* strncpy()提供了限制复制字符数的能力&#xff0c;增加了安全性&#xff0c;* 但使用时需注意目标字符串可能…

知识图谱构建助手安装配置使用!Sapphire Ventures最全Sales AI图谱:AI如何重塑销售行业?

知识图谱构建助手安装配置使用!Sapphire Ventures最全Sales AI图谱:AI如何重塑销售行业? 项目简介 llmgraph 使您能够从给定的源实体维基百科页面创建 GraphML、GEXF 和 HTML 格式(通过 pyvis 生成)的知识图。知识图谱是通过从 ChatGPT 或 LiteLLM 支持的其他大型语言模型…

算法训练营第七十六天(最后一天、完结撒花) | Bellmanford之单源有限最短路、Floyd算法、A*算法

算法训练营最后一天 | Bellmanford之单源有限最短路、Floyd算法、A*算法 Bellmanford之单源有限最短路 题目连接&#xff1a; https://kamacoder.com/problempage.php?pid1154 在之前的基础上松弛k1次而不是n1次即可 #include <iostream> #include <vector> #…

14-8 小型语言模型的兴起

过去几年&#xff0c;我们看到人工智能能力呈爆炸式增长&#xff0c;其中很大一部分是由大型语言模型 (LLM) 的进步推动的。GPT-3 等模型包含 1750 亿个参数&#xff0c;已经展示了生成类似人类的文本、回答问题、总结文档等能力。然而&#xff0c;虽然 LLM 的能力令人印象深刻…

AIOps与生成式人工智能的结合

AIOps&#xff08;智能化运维&#xff09;与生成式人工智能&#xff08;如ChatGPT等GenAI模型&#xff09;的结合是近期运维领域的一个重要热点。这种结合不仅提升了运维的智能化水平&#xff0c;还拓宽了AIOps的应用范围&#xff0c;为企业带来了诸多好处。以下是对AIOps与生成…

新能源行业知识体系-------2024内蒙古电力多边交易市场中长期交易相关事宜通知(讨论稿)

新能源行业知识体系-------主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/139946830 目录 0、读了这个文件我们该怎么去做一、为什么有这个文件二、交易规模三、市场主体四、“保量保价”优先发电计划安排五、区内电力交…

算法解题之双指针

简介 双指针技术是一种常见的算法设计思路,它通常适用于处理有序数组或链表等数据结构。双指针算法通过使用两个指针,同时从不同的方向遍历数组或链表,来解决一些特定的问题。 背景 双指针解题思路的产生背景主要有以下几个方面: 数据结构的特点 许多需要解决的算法问题都…

SonarWiz 8.0.1侧扫 浅剖 测深软件License获取

SonarWiz 8.0.1是功能强大的测绘软件&#xff01;提供强大的数据采集、后处理等功能操作&#xff0c;您将获得灵活完整的报告&#xff0c;并提供丰富的选项以便进行定制和更灵活的进行操作&#xff0c;软件功能齐全&#xff0c;包括完整的海底测绘解决方案&#xff0c;方便实时…

国产麒麟v10、UOS系统在线比较两个Word文件的内容差异

调用PageOffice的WordCompare方法&#xff0c;同时在线打开两个Word文档&#xff0c;可以切换显示其中的一个文档&#xff0c;或者显示两个文档的对比结果&#xff0c;即可实现在线的文档内容比较功能。此功能可以应用在以下方面&#xff1a; 文档管理中&#xff0c;比较两个版…

前端八股文 说一说样式优先级的规则是什么?

标准的回答 CSS样式的优先级应该分成四大类 第一类 !important&#xff1a; &#x1f604;无论引入方式是什么&#xff0c;选择器是什么&#xff0c;它的优先级都是最高的。 第二类 引入方式&#xff1a; &#x1f604;行内样式的优先级要高于嵌入和外链&#xff0c;嵌入和外链…

C++11|左、右值引用和移动语义

目录 一、左值引用 && 右值引用 1.1什么是左值&#xff1f;什么是左值引用&#xff1f; 1.2什么是右值&#xff1f;什么是右值引用&#xff1f; 1.3左值引用与右值引用比较 二、左、右值引用使用场景(为什么要有右值引用?) 2.1左值引用使用场景&#xff1a; 2.2右…