mysql备份数据库
MySQL备份/还原 的方法
mysql备份数据库
-
mysql备份单个数据库
#mysql备份某个库格式:
mysqldump -h主机名 -P端口 -u用户名 -p"密码" --database 数据库名 > 文件名.sql#实例:mysql备份某个库:
mysqldump -h10.*.*.9 -P3306 -uroot -p"密码" --single-transaction --master-data=2 --set-gtid-purged=OFF --database -B db_mystorage > mysqldump_db_mystorage_`date +%Y%m%d-%H%M`.sql
-
mysql备份多个数据库
#mysql备份某个库格式:
mysqldump -h主机名 -P端口 -u用户名 -p"密码" --database 数据库名1 数据库名2 数据库名3 > 文件名.sql#实例:mysql备份某个库:
mysqldump -h10.*.*.9 -P3306 -uroot -p"密码" --single-transaction --master-data=2 --set-gtid-purged=OFF --database -B db_mystorage db_myblogs db_myOA > mysqldump_db_mystorage_db_myblogs_db_myOA_`date +%Y%m%d-%H%M`.sql
-
mysql备份所有的库
#mysql备份所有的库格式:
mysqldump -h主机名 -P端口 -u用户名 -p"密码" --all-databases > 文件名.sql#实例:mysql备份所有的库:
mysqldump -h10.*.*.9 -P3306 -u用户名 -p"密码" --single-transaction --master-data=2 --set-gtid-purged=OFF --all-databases > mysqldump_all_databases_`date +%Y%m%d-%H%M`.sql
注意:如上命令 -A 或者 --all-databases 是备份该用户名拥有的全部数据库。
-
mysql备份特定表
#mysql备份某个库格式:
mysqldump -h主机名 -P端口 -u用户名 -p"密码" 数据库名 表名 > 文件名.sql#实例:备份db_plus_core库中的tb_doc_permission表
mysqldump -h10.*.*.9 -P3306 -uroot -p"密码" --single-transaction --master-data=2 --set-gtid-purged=OFF db_plus_core tb_doc_permission > mysqldump_tb_doc_permission_`date +%Y%m%d-%H%M`.sql
-
mysql备份特定多个表
#mysql备份某个库格式:
mysqldump -h主机名 -P端口 -u用户名 -p"密码" 数据库名 表名1 表名2 > 文件名.sql#实例:备份db_plus_core库中的tb_doc_permission表
mysqldump -h10.*.*.9 -P3306 -uroot -p"密码" --single-transaction --master-data=2 --set-gtid-purged=OFF db_plus_core tb_1 tb_2 > mysqldump_tb_1_tb_2_`date +%Y%m%d-%H%M`.sql
备份命令的 -B 参数
执行备份语句的时候,其中可以加上很多的参数,用来添加一些备份的时候的特殊要求的,其中有一个-B参数。执行备份语句时,如果加上了-B参数,那么将来再执行数据还原的时候,就不需要自己到数据库里面去先创建一个目标库了,并且执行数据还原语句的时候也不需要指定目标库了。如果没有加-B参数,就需要自行到数据库中先创建一个目标库,并且执行恢复语句时要指定将数据恢复到目标库。
原因是-B参数导出的文件中自带创建数据库和连接数据库的功能:(使用-B参数备份出来的内容自带create database 库名和use 库名的功能)。
备份命令的 | gzip 管道符
【压缩备份】:实际生产上导出的数据有可能比较大,不好备份到远程,这时候就需要进行压缩。
mysql压缩备份:
#mysql压缩备份格式:
mysqldump -h主机名 -P端口 -u用户名 -p"密码" --database 数据库名 | gzip > 文件名.sql.gz#实例一:mysql压缩备份
mysqldump -h10.*.*.9 -P3306 -uroot -p"密码" --single-transaction --master-data=2 --set-gtid-purged=OFF --database db_plus_core | gzip > mysqldump_db_plus_core_`date +%Y%m%d-%H%M`.sql.gz#实例二:mysql压缩备份全部数据库:
mysqldump -h10.*.*.9 -P3306 -uroot -p"密码" --single-transaction --master-data=2 --all-databases | gzip > mysqldump_alldatabases_`%Y%m%d-%H%M`.sql.gz#实例三:如果mysql开了GTID模式就要用这个命令
mysqldump -h10.*.*.9 -P3306 -uroot -p"密码" --single-transaction --master-data=2 --set-gtid-purged=OFF --all-databases | gzip > mysqldump_alldatabases_`%Y%m%d-%H%M`.sql.gz
mysql备份数据带出删除数据库或者表的sql备份
备份时,可以带出删除库的参数--add-drop-database,带出删除表的参数--add-drop-table
#格式:
mysqldump -h主机名 -P端口 -u用户名 -p"密码" --add-drop-table --add-drop-database 数据库名 > 文件名.sql
#示例:
mysqldump -h10.*.*.9 -P3306 -uroot -p"密码" --add-drop-table --add-drop-database cmdb > /data/backup/mysqldump_cmdb_`%Y%m%d-%H%M`.sql
仅备份数据库结构,不包含数据
有时候我们仅仅只想备份出环境,数据库/表/字段结构,可以加命令参数--no-data
#格式:
mysqldump -h主机名 -P端口 -u用户名 -p"密码" --no-data 数据库名1 数据库名2 > 文件名.sql
#示例:
mysqldump -h10.*.*.9 -P3306 -uroot -p"密码" --no-data db1 db2 > /data/backup/mysqldump_no_data_db1_db2_`%Y%m%d-%H%M`.sql
mysqldump恢复数据备份
#格式:
mysqldump -h主机名 -P端口 -u用户名 -p"密码" --no-data 数据库名1 数据库名2 > 文件名.sql#示例:还原db_plus_core库中的tb_doc_permission表的备份
mysqldump -uroot -p"密码" db_plus_core < mysqldump_20180114_tb_doc_permission.sql#示例:还原所有的库(保底操作,按需执行)
mysqldump -uroot -p"密码" < mysqldump_20240114_all_databases.sql
通过mysql默认的终端执行恢复命令
【通过source命令恢复数据库】
进入mysql数据库控制台,mysql -uroot -p3306登陆后
mysql>use 数据库;
然后使用source命令,后面参数为脚本文件(如这里用到的是.sql文件,如果你备份的是.txt文件,那这里写.txt文件)
mysql>source crm2.sql #这个文件是系统路径下的,默认是登陆mysql前的系统路径,在mysql中查看系统路径的方法是通过system+系统命令来搞的
mysql>system ls
【利用mysql命名恢复(标准)】
如下:mysql -root -p3306 -e "use crm2;drop table student;show tables;" 必须是双引号mysql -uroot -p3306 crm2<f:\数据库备份练习\crm2.sqlmysql -uroot -p3306 -e "use crm2;show tables;"
注:如果sql文件里面没有use db这样的字样时,在导入时就要指定数据库名了。mysql -uroot -p3306 crm2<.sql文件
建议备份数据库时都指定上-B参数,效果好。
说明:mysql不光可以恢复mysqldump的备份,只要文件中是sql语句,都可以通过mysql命令执行到数据库中
mysql 带 -e 参数实现非交互式对话,就是不需要到mysql里面去,在外面执行里面的指令的方法,例如:mysql -uroot -p3306 -e "use crm2;show tables;",但是语句必须是双引号包裹。
Mysql备份表及部分数据
有时候我们只需要备份某个表里面的部分数据,快速恢复关键业务。
【原理】:使用 like 命令快速复制一个表(结构一模一样),将要备份的部分数据查询出来备份到新表里面,使用完了以后再恢复回去。
#示例:
mysql -h10.*.*.9 -P3306 -uroot -p"密码"
use db_mystorage;
#step1:拷贝一份新的表结构
create table tb_staff_bak like tb_staff;
#step2:将要备份的部分数据查询出来备份到新表里面
insert into tb_staff_bk select * from tb_staff where name in ('xiong','zhang');
#step3:清理目标数据
delete from tb_staff where name in ('xiong','zhang');#回滚与恢复:
insert into tb_staff select * from tb_staff_bk;drop table tb_staff_bk;
实例:mysql自动备份脚本
备份方式:通过mysqldump的方式备份数据库,并保留7天备份数据。
#!/bin/bash
backupdir=/data/mysqlbak #备份文件存放路径
time=`date +%Y%m%d-%H%M` #备份文件名称时间标记mysqldump -h10.*.*.9 -P3306 -uroot -p"密码" --all-databases --single-transaction --default-character-set=utf8 |gzip > $backupdir/mysql$time.sql.gz #备份所有数据库并打包find $backupdir -name "mysql*.sql.gz" -type f -mtime +7 -exec rm {} \; > /dev/null 2>&1 #删除7天之外的备份文件
创建备份目录
mkdir -pv /data/mysqlbak
给备份脚本授权
chmod +x /data/mysqlbak/mysqlbak.sh
添加计划任务
crontab -e
00 3 * * * /data/mysqlbak/bakmysql.sh
【恢复使用】
解压
gzip -d mysql2020703.sql.gz
非压缩备份文件恢复:
mysql -u用户名 -p < mysql2020703.sql
从压缩文件直接恢复:
gzip < mysql22020703.sql.gz | mysql -u 用户名 -p
相关文章:
mysql备份数据库
MySQL备份/还原 的方法 mysql备份数据库 mysql备份单个数据库 #mysql备份某个库格式: mysqldump -h主机名 -P端口 -u用户名 -p"密码" --database 数据库名 > 文件名.sql#实例:mysql备份某个库: mysqldump -h10.*.*.9 -P3306 …...
NLP与LLM的工程化实践与学习思考 - 写在开头
NLP与LLM的工程化实践与学习思考[24年半年工作总结] - 写在开头 0 开头的开头 0 开头的开头 24年因为一些工作原因,短暂在NLP领域遨游了半年。这半年对我的影响蛮大,一来是因为此前从没接触过这个方向学到新东西挺开心的,二来是在工程化实践…...
LeetCode322. 零钱兑换(2024冬季每日一题 28)
给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 示…...
Unix、GNU、BSD 风格中 ps 参数的区别
注:本文为“不同风格中 ps 命令参数的区别”相关文章合辑。 未去重。 BSD 风格和 UNIX 风格中 ps 参数的区别 作者:Daniel Stori 译者:LCTT Name1e5s | 2017-06-17 10:53 One Last Question ps aux 以及 ps -elf 都是查看进程的方式&…...
单片机读写内部flash实现断电数据存储
在单片机编程中,读写内部Flash存储器是一种常见的方法来实现断电数据存储。这里以STM32系列单片机为例,展示如何通过HAL库进行简单的内部Flash读写操作。 以下是一个完整的示例代码,展示了如何擦除、写入和读取内部Flash中的数据。请注意&am…...
注意力机制介绍
注意力机制介绍 1.注意力机制由来,以及解决什么问题2.什么是注意力机制3.注意力机制分类及如何实现3.1 Soft Attention(常见):软注意3.1.1普通Encoder-Decoder框架3.1.2加入Attention的Encoder-Decoder框架3.1.3如何理解注意力概率分布3.1.4 Attention机制本质思想 3.2 Hard At…...
爬虫运行后数据如何存储?
爬虫运行后获取的数据可以存储在多种不同的存储系统中,具体选择取决于数据的规模、查询需求以及应用场景。以下是一些常见的数据存储方法: 1. 文件系统 对于小型项目或临时数据存储,可以直接将数据保存到本地文件中。常见的文件格式包括&…...
C# 自动自定义截图的内容
C# 自动自定义截图的内容 using System; using System.Drawing; using System.Runtime.InteropServices; class Program {[DllImport("user32.dll")]public static extern IntPtr GetDesktopWindow();[DllImport("user32.dll")]public static extern IntP…...
Java的Stream流:文件处理、排序与串并行流的全面指南
Java的Stream流:文件处理、排序与串并行流的全面指南 Java 8 引入了 Stream API,这是一个用于处理集合数据的强大工具,它提供了一种声明式的方式来进行聚合操作。Stream 不是一个数据结构,而是一种对数据进行操作的抽象ÿ…...
[Maven]下载安装、使用与简介
很多框架的下载使用的流程和思路是差不多的,这里以maven做详细介绍。 下载安装与配置变量 下载 首先,我们要使用maven,必须先下载它的相关文件。想要下载,我们可以直接搜索maven。找到它的官网。这里不绕弯子,直接给出…...
056 WXML+ WXSS+PHP+LW+校园配送商城微信小程序开发与设计 源码 文档 全套资料
校园配送微信小程序 1.项目描述2. 1.绪论3.项目技术与功能4.界面展示5.源码获取 1.项目描述 摘 要 近几年来,随着互联网和电子商务的快速发展和普及,改变了人们日常消费模式。尤其是移动互联网的相结合,使得人们日常生活中更多的是通过手机移…...
Python 在同一/或不同PPT文档之间复制幻灯片
复制幻灯片可以帮助我们更高效地完成工作,节省大量的制作时间。通过复制现有的幻灯片,可以快速创建新的演示文稿,而无需重新设计板式样式等。此外,复制幻灯片还可以帮助我们保持内容的一致性,使整个PPT演示文稿看起来更…...
C#生成CSR(CertificateSigningRequest)和密钥
使用C#原生生成CSR(CertificateSigningRequest)和密钥。 生成的私钥妥善保存,丢失无法找回。 调用 var contents X509Helper.SigningRequestHelper.CreateSigningRequest("yourdomain.com", ["*.yourdomain.com"], X509Helper.AsymmetricAl…...
Docker 安装 Oracle创建表空间并导入数据库
一、Docker 安装Oracle 1、检查docker 版本 2、docker 下载镜像 3、 docker启动容器 4、 进入容器内部 5、安装成功,使用客户端工具连接 二、创建数据库用户与表空间 1、查询数据库文件位置 2、创建表空间 3、创建用户 4、设置权限 三、导出数据库DMP …...
elementui table子级tree懒加载bug
1. 删除子级刷新列表子级依然显示 2.更新状态子级列表未刷新 3.编辑子级后刷新页面显示状态未变更 el-table 树表格load源码 首先,load可以执行,但是只剩一个子节点就有问题,那么就直接可以定位bug在load方法里: 文件路径&am…...
AI与低代码技术融合:如何加速企业智能化应用开发?
引言 随着全球数字化转型的步伐加快,企业在智能化应用开发方面面临着前所未有的挑战和机遇。传统的软件开发方式往往需要大量的技术人员、时间和资源,而在瞬息万变的市场环境中,这种模式显得效率低下且难以满足企业快速迭代和创新的需求。 与…...
【C#】新建窗体文件,Form、UserControl
从用途、功能性和架构方面进行描述。 1. 继承自 Form 的窗体(通常是窗口): 在 C# 中,Form 是用于创建应用程序的主窗口或对话框窗口的类。当您继承自 Form 时,您创建的是一个完整的窗口,可以显示内容、与…...
ansible学习笔记之02command模块与shell模块
目录 1、概述 2、模块介绍 2.1 command模块 2.2 shell模块 2.3 小结 3、实验 3.1 测试ls命令 3.2 测试环境变量 3.3 测试操作符">" 1、概述 本文介绍ansible的command模块与shell模块,并通过实验比对两个模块的异同。 2、模块介绍 2.1…...
在Docker中部署禅道,亲测可用
1、确保centos中已安装docker docker -v 2、启动docker systemctl start docker 3、可设置docker开机启动 systemctl enable docker.service 4、获取最新版禅道开源版镜像 docker pull idoop/zentao 5、运行镜像生成禅道容器【创建 /data/www /data/data 目录】 doc…...
C++(十二)
前言: 本文将进一步讲解C中,条件判断语句以及它是如何运行的以及内部逻辑。 一,if-else,if-else语句。 在if语句中,只能判断两个条件的变量,若想实现判断两个以上条件的变体,就需要使用if-else,if-else语…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
规则与人性的天平——由高考迟到事件引发的思考
当那位身着校服的考生在考场关闭1分钟后狂奔而至,他涨红的脸上写满绝望。铁门内秒针划过的弧度,成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定",构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...
基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)
引言 在嵌入式系统中,用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例,介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单,执行相应操作,并提供平滑的滚动动画效果。 本文设计了一个…...
鸿蒙HarmonyOS 5军旗小游戏实现指南
1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发,采用DevEco Studio实现,包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...
算法250609 高精度
加法 #include<stdio.h> #include<iostream> #include<string.h> #include<math.h> #include<algorithm> using namespace std; char input1[205]; char input2[205]; int main(){while(scanf("%s%s",input1,input2)!EOF){int a[205]…...
