mysqldump 备份还原

article/2025/9/23 10:09:29

Mysqldump

         Mysqldump客户端程序执行逻辑备份,可以生产一组SQL语句,这些语句可以执行重现原始数据库对象定义和表数据;它可以转存一个或多个数据库进行备份或者转移到其他数据库。Mysqldump命令也能生成csv文件或其他分隔符的文本,后者XML格式文件;

         Mysqldump必须有SELECT 选项for dumptable,SHOW VIEW权限for 存储视图,TRIGGER 存储触发器;

         导入dump文件的时候,你必须有这些语句的执行权限;

性能和可伸缩性考虑

         Mysqldump的优点包括查看或编辑输出前的方便和灵活性,你可以为了开发或者DBA工作克隆一个数据库,或者生产轻量级的测试数据库。对于大量的数据,即使备份花费时间少,但是恢复的时候也会花费大量时间;

调用语法

         数据量大的情况下,推荐物理备份,以原有格式备份数据文件,并且快速导入;

         如果你的表主要是InnoDB的,或者Myisam和InnoDB混合的,考虑使用Mysqlbackup命令。它为InnDB提供最小的中断性能。Mysqlbakcup也可以备份Myisam和其他引擎;

         Mysqldump现在可以一行行地获取表内容,或者获取整个表数据,获取的时候会将数据加载到内存中,数据量大的情况下,加载过多数据会发生问题,这个时候就可以--quick(--opt)选项来一行行地获取数据;

 

语法调用:

         有三种方法使用mysqldump:

         Mysqldump[option] db_name [tb1_name …]     备份库中某些表

         Mysqldump[option] --databases db_name…       备份指定数据库

         Mysqldump[option] --all-databases                      备份整个数据库

                  查看你的版本语法支持:mysqldump --help

选项-语法(字母顺序)

         --add-drop-database

         --add-drop-table

         --add-drop-trigger

         --add-locks                       对每个转存的表进行LOCK和UNLOCK操作;

         --all-databases                         备份所有数据库

         --bind-address                          指定mysql地址

         --comment                       增加注释

         --compress                       压缩所有信息

         --databases                      将所有名称参数解释为数据库名称

         --debug                              记录debug log信息

         --debug-check                          退出的时候打印debug信息

         --default-character-set  指定默认字符集

         --delete-master-logs      dump后删除所有二进制日志

         --flush-logs                       开始存储之前刷新日志文件

         --force                               及时发生错误也继续执行

         --help                                 显示帮助信息

         --host                                 连接的host地址

         --ignore-error                  忽略指定错误

         --ignore-table          忽略指定表

         --lock-all-tables      锁定所有库的所有表

         --lock-tables            dump前,锁定所有表

         --log-error                记录告警和错误

         --no-create-db                 不记录create database语句

         --no-create-info     不记录create table语句

         --no-data                          不记录表内容

         --order-by-primary 以主键或第一个唯一索引排序

         --password               当连接服务器的时候输入密码

         --port                        指定端口

         --protocol                指定协议

         --quick

         --replace                  

         --secure-auth          不以老的格式发送密码给服务器

         --set-charset            指定字符集

         --single-transaction       

         --skip-add-drop-table     每个CREATE TABKE前,跳过DROPTABLE

         --skip-add-lock                         不加锁

         --skip-comments             不加注释

         --skip-set-charset            跳过字符集设置

         --skip-trigger                    跳过触发器复制

         --ssl                            启用加密连接

         --ssl-mode                以安全模式连接

         --triggers                  复制触发器

         --user                       

         --verbose

         --where                    

         --xml                          产生xml文件

 

连接选项

         --bind-address=ip_address   连接到指定地址

    --compress, -C     压缩serverclient间发送的所有信息

    --host=host_name, -h host_name

    --password[=password], -p[password]

         --port=port_num, -P port_num

         --protocol={TCP|SOCKET|PIPE|MEMORY}

    --socket=path, -S path

    --user=user_name, -u user_name   提供用户名

    max_allowed_packet   C/S间通信支持的最大buffer,默认24M最大1G

        

选项-文件

         --defaults-file=file_name   使用file_name而不是全路径名

   

 

案例:

         备份整个数据库文件
                  shell> mysqldump db_name > backup-file.sql

         将dump文件加载到sql

shell> mysql db_name < backup-file.sql

         重新加载的另一方式:

         shell> mysql -e "source /path-to-backup/backup-file.sql"db_name

         一个命令导出几个实例

         shell> mysqldump --databases db_name1 [db_name2...] > my_databases.sql

         dump所有数据库

         shell> mysqldump --all-databases >all_databases.sql

         InnoDB中,提供在线备份

         shell> mysqldump --all-databases --master-data--single-transaction > all_databases.sql

 

mysqldump可以用于升级/降级的兼容性测试:

mysqldump--all-databases --no-data --routines --events > dump-defs.sql

因为没有导入数据,所以速度快,当验证兼容性正常的时候,再行导入数据

mysqldump--all-databases --no-create-info > dump-data.sql

 

 

 

限制

         默认情况下不会复制INFORMATION_SCHEMA,performance_schema信息

SCHEMA主要用于收集服务器性能参数,且库里表的存储引擎均为PERFORMANCE_SCHEMA

这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。

         如果想要复制这些信息,必须加上—databases选项去指定这2个库;

 

 

 

验证

Step1 做备份mysqldump--databases itdb > itdb.txt 备份itdb库

cat itdb.txt可以查看里面内容

Step2: 删除itdb库;

Step3: itdb恢复  mysql < itdb.txt

Step4: 验证


http://chatgpt.dhexx.cn/article/tgRsdeXl.shtml

相关文章

mysqldump实战-问题2

在使用mysqldump 按条件导出数据的时候&#xff0c;发现导出的数据比直接在数据库查询数据变少了。 在数据库使用select count(*) from tablename where DATE_FORMAT(Inserted,%Y-%m-%d) 2022-12-13; 查到的数据是662条&#xff1b;然后使用mysqldump -uusr_name -pusr_pwd -…

MySQL 8.0 mysqldump 详解

作者公众号&#xff0c;欢迎一起交流。 mysqldump命令是MySQL自带的客户端程序&#xff0c;可用于对数据库进行备份&#xff0c;由于是逻辑备份&#xff0c;故可以看到备份的内容是有一系列的SQL语句组成&#xff0c;并可根据实际情况对备份内容进行修改。当然&#xff0c;使用…

mysqldump的使用简介

有时候要对线上数据进行操作&#xff0c; 需要提前备份下数据。 有时候需要将线上数据dump下来进行分析和验证。 来看下mysqldump的使用。 导出数据&#xff1a;mysqldump -h localhost -u root -p -P 17538 --single-transaction --databases taoge --tables x > x1.sql …

MySQL——使用mysqldump命令备份

使用mysqldump命令备份 mysqldump命令可以将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。本节将介绍mysqldump命令的工作原理和使用方法。 mysqldump命令的工作原理很简单。它先查出需要备份的表的结构&#xff0c;再在文本文件中生成…

网络安全——终端安全

背景 大中型企业桌面计算机数量众多,管理难度大,桌面安全问题突出。人们提起信息安全,往往把注意力集中在防火墙、防病毒、IDS、IPS、网络互连设备(Router、Switch)等的管理上,却忽略了对网络环境中的计算单元——桌面安全管理。 桌面安全,是传统网络安全防范体系的补…

网络安全防护体系建设

网络安全基本概念 网络安全&#xff08;Cyber Security&#xff09;是指网络系统的硬件、软件及其系统中的数据受到保护&#xff0c;不因偶然的或者恶意的原因而遭受到破坏、更改、泄露&#xff0c;系统连续可靠正常地运行&#xff0c;网络服务不中断&#xff0c;使网络处于稳…

网络安全体系

文章目录 1、安全体系2、安全服务3、安全机制4、安全标准5、安全目标 1、安全体系 ISo(国际标准化组织&#xff09;1989年制定的ISO/IEC 7489-2&#xff0c;给出了ISO/oSI参考模型的安全体系结构 在OSI参考模型中增设了安全服务、安全机制和安全管理&#xff0c;并给出了OSI网…

信息安全产品认证

文章目录 一、引言二、《网络关键设备和网络安全专用产品安全认证证书》2.1 背景2.2 产品目录2.3 认证依据标准2.4 认证机构2.5 《商密产品检测认证目录》与《网络关键设备和网络安全专用产品目录》的关系 三、《中国国家信息安全产品认证证书》3.1 背景3.2 产品目录3.3 行业跟…

中国网络安全产品分类及全景图

网络安全产品分类 一、网络安全&#xff1a; 防火墙入侵检测与防御网络隔离和单向导入防病毒网关上网行为管理网络安全审计VPN抗拒绝服务攻击网络准入 二、终端安全&#xff1a; 防病毒主机检测与审计安全操作系统主机/服务器加固 三、应用安全&#xff1a; Web应用防火墙…

浅谈网络安全产品的分类

不知道从什么时候开始&#xff0c;仙儿对分类一直很迷恋。看到一些莫衷一是的分类就会很抓狂&#xff0c;这可能是一种病吧。最近又犯病了&#xff0c;居然对网络安全产品的分类动了心思。用了两个晚上时间梳理了一下&#xff0c;总算是有个勉强可接受的结果。在此感谢启明星辰…

安全基础——常见网络安全产品

产品分类和发展趋势 安全产品&#xff1a; 端点安全&#xff1a;恶意软件防护、终端安全管理网络安全&#xff1a;安全网关、入侵检测与防御、网络监控与审计应用安全&#xff1a;web安全、数据库安全、邮件安全数据安全&#xff1a;数据治理、文件管理与加密、数据备份与恢复身…

linux如何获取root权限

如图&#xff1a;linux中常出现Permission denied 原因是因为权限不足 通常操作的命令是 chmod 777 文件夹路径 或者chmod 777 -R 路径/ 很不方便也不适合新手 这里介绍一种比较好的方法 命令行输入sudo passwd 这里会让你输入密码 这里你会发现$变成了#号 再次创建就成功…

Rook使用简介

Rook使用简介&#xff08;Ceph&#xff09; 1、简介 Rook是一个自管理的分布式存储编排系统&#xff0c;可以为Kubernetes提供便利的存储解决方案。Rook本身并不提供存储&#xff0c;而是在kubernetes和存储系统之间提供适配层&#xff0c;简化存储系统的部署与维护工作。目前…

手机通过magisk获取root权限

仅做参考&#xff0c;方便自己使用的操作。我是看这篇文章 来进行操作的。 前提 1.手机用的是twrp这个recovery&#xff0c;这个是大前提。 2.默认会配置adb环境和命令使用。 我之前是在这个地方下载的twrp&#xff0c;根据Devices找到对应自己手机的Primary (Americas)的.…

一个基于 LKM 的 Linux 内核级 rootkit 的实现

博客已迁移至&#xff1a;https://gls.show/ GitHub链接 演示Slides overview rootkit是一种恶意软件&#xff0c;攻击者可以在获得 root 或管理员权限后安装它&#xff0c;从而隐藏入侵并保持root权限访问。rootkit可以是用户级的&#xff0c;也可以是内核级的。关于rootk…

Rootkit 后门的利用 --超详细

1.通过本地 PC 中渗透测试平台 Kali 对服务器场景进行系统服务及版本扫描 11 / 25 渗透测试;并将该操作显 示结果中 SSH 服务版本信息字符串作为 FLAG 提交&#xff1b; nmap -sV ip 即可扫描出ssh的服务版本信息 2.通过本地 PC 中渗透测试平台 Kali 对服务器场景进行 SSH 暴力…

Rootkit---进程隐藏

测试环境&#xff1a; Ubuntu18.04 内核版本&#xff1a;4.15.0 有的内核版本函数不一定都相同&#xff0c;有的修改的程度比较大&#xff0c;需要下载内核源码去看。 Linux内核源码&#xff1a;https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/ 使用strace ps命令查…

Linux Rootkit系列三:实例详解 Rootkit 必备的基本功能

前言 鉴于笔者知识能力上的不足&#xff0c;如有疏忽&#xff0c;欢迎纠正。 本文所需的完整代码位于笔者的代码仓库&#xff1a;https://github.com/NoviceLive/research-rootkit。 测试建议&#xff1a; 不要在物理机测试&#xff01;不要在物理机测试&#xff01; 不要在物…

Rootkit演变

Rootkit 概述 我第一次接触rootkit是在2004年&#xff0c;当时我还是一个rookie病毒分析师&#xff0c;具备一定的关于UNIX的 rootkit病毒的相关知识。有一天我无意中发现windows系统中的一个可执行程序&#xff0c;在我登录这个程序的时候&#xff0c;windows系统似乎没有做出…

Rootkit 后门的利用

Ev:Rootkit后门的利用-网络安全文档类资源-CSDN下载 1.通过本地 PC 中渗透测试平台 Kali 对服务器场景进行系统服务及版本扫描 渗透测试&#xff0c;并将该操作显示结果中 SSH 服务版本信息字符串作为 FLAG 提交&#xff1b; 2.通过本地 PC 中渗透测试平台 Kali 对服务器场景…