mysql-mysqldump逻辑备份

mysqldump逻辑备份---- 推荐优先使用(重点)

mysqldump 是 MySQL 自带的逻辑备份工具。可以保证数据的一致性和服务的可用性。

逻辑备份不占空间 比较快捷 不需要停服务 可以正常导入导出

cd /usr/local/mysql/bin

可以查看 mysqlpump

产生测试库与表
测试表:company.employee5
mysql> create database company;
mysql> CREATE TABLE company.employee5(id int primary key AUTO_INCREMENT not null,name varchar(30) not null,sex enum('male','female') default 'male' not null,hire_date date not null,post varchar(50) not null,job_description varchar(100),salary double(15,2) not null,office int,dep_id int);
mysql> insert into company.employee5(name,sex,hire_date,post,job_description,salary,office,dep_id) values ('jack','male','20180202','instructor','teach',5000,501,100),('tom','male','20180203','instructor','teach',5500,501,100),('robin','male','20180202','instructor','teach',8000,501,100),('alice','female','20180202','instructor','teach',7200,501,100),('tianyun','male','20180202','hr','hrcc',600,502,101),('harry','male','20180202','hr',NULL,6000,502,101),('emma','female','20180206','sale','salecc',20000,503,102),('christine','female','20180205','sale','salecc',2200,503,102),('zhuzhu','male','20180205','sale',NULL,2200,503,102),('gougou','male','20180205','sale','',2200,503,102);

如何保证数据一致?在备份的时候进行锁表会自动锁表。锁住之后在备份。

本身为客户端工具:
远程备份语法: # mysqldump  -h 服务器  -u用户名  -p密码   数据库名  > 备份文件.sql
本地备份语法: # mysqldump  -u用户名  -p密码   数据库名  > 备份文件.sql
1.常用备份选项
-A, --all-databases #备份所有库-B, --databases  #备份多个数据库-F, --flush-logs #备份之前刷新binlog日志--default-character-set #指定导出数据时采用何种字符集,如果数据表不是采用默认的latin1字符集的话,那么导出时必须指定该选项,否则再次导入数据后将产生乱码问题。--no-data,-d #不导出任何数据,只导出数据库表结构。--lock-tables #备份前,锁定所有数据库表--single-transaction #保证数据的一致性和服务的可用性-f, --force #即使在一个表导出期间得到一个SQL错误,继续。

注意

使用 mysqldump 备份数据库时避免锁表:
对一个正在运行的数据库进行备份请慎重!! 如果一定要 在服务运行期间备份,可以选择添加 --single-transaction选项,类似执行: mysqldump --single-transaction -u root -p123456 dbname > mysql.sql
2.备份表

备份整个表结构与数据

语法: # mysqldump -u root -p'口令 库名  表名 > /db1.t1.bak
[root@mysql-server ~]# mkdir /home/back  #创建备份目录
[root@mysql-server ~]# mysqldump -uroot -p'qf123' company employee5 > /home/back/company.employee5.bak
备份多个表:
语法: # mysqldump -u root -p'口令 库名  表名1 表名2 > /db1.t1_t2.bak

3.备份库(重点)

最好1一个数据库一个文件 后期管理比较轻松

mkdir /data/backupdb
cd /data/backupdb会出现一个告警
mysqldump -u root -p'123456' company > /data/backupdb/company_$(date +%Y%m%d%H%M%S).sqlmysqldump -u root -p'123456' --single-transaction company > /data/backupdb/company_$(date +%Y%m%d%H%M%S).sql

5.恢复全库

登陆mysql创建一个库
mysql> create  database qf_sh;
恢复:
mysql -uroot -p'123456' qf_sh < /data/backupdb/shuihu.sql

6.单独恢复表

恢复方式一
查看是否开启binlog日志
vim /etc/my.cnf
log-bin=/usr/local/mysql/logs/mysql-bin/mylog登录mysql
查看binlog状态是否开启,如果开启则需停止
mysql>show variables like 'sql_log_bin';
ON 表示开启#停止binlog日志
mysql> set sql_log_bin=0;  mysql>show variables like 'sql_log_bin';
此时已经为OFF 停止状态授权
chmod o+x shuihu.sql 登录mysql
show databases;
使用库
use qf_t4;
加载库
source /data/backupdb/shuihu.sql恢复方式二:(最好使用这个,比较方便)
# mysql -u root -p1  db1  < db1.t1.bak库名    备份的文件路径

7.备份及恢复表结构

备份时不包含表内数据

-d #不导出任何数据,只导出数据库表结构,方便建表会出现一个告警
mysqldump -u root -p'123456' --single-transaction -d qf_t4 userinfo >/data/backupdb/userinfo_$(date +%Y%m%d%H%M%S).sql-D 指到数据库qf_t3表 只有结构没有数据
mysql -uroot -p'123456' -D qf_t3 < /data/backupdb/userinfo_20240524173536.sql 1.备份表结构:
语法:mysqldump  -uroot -p'口令 -d database table > dump.sql
[root@mysql-server ~]# mysqldump -uroot -p'qf123' -d company employee5 > /home/back/emp.bak
恢复表结构:
登陆数据库创建一个库
mysql> create database t1;
语法:# mysql -u root -p'口令' -D 库名  < 备份文件名
[root@mysql-server ~]# mysql -uroot -p'qf123' -D t1 < /home/back/emp.bak

8.数据的导入导出,没有表结构。

表的导出和导入只备份表内记录,不会备份表结构,需要通过mysqldump备份表结构,恢复时先恢复表结构,再导入数据。
mysql> show variables like "secure_file_priv";  ----查询导入导出的目录。修改安全文件目录:
1.创建一个目录:mkdir  路径目录
[root@mysql-server ~]# mkdir /sql
2.修改权限
[root@mysql-server ~]# chown mysql:mysql /sql
3.编辑配置文件:
vim /etc/my.cnf
在[mysqld]里追加
secure_file_priv=/sql
4.重新启动mysql.
systemctl restart mysqld1.导出数据(把数据导出去 没有表结构 是个很冷门的需求)
登陆数据查看数据
mysql> show databases; 
mysql> use qf_t4;
mysql> show tables;
查询这个表
select * from userinfo\G; 
//把查询的结果写入到这个文件里sql/out-employee5.bak
mysql> select * from userinfo into outfile '/sql/userinfo.sql';然后进入sql文件夹 
cd /sql  ll 会发现有一个文件
vim userinfo.sql2.数据的导入,就是把数据导入到表结构中 (表格和数据分开放的时候就用这个方法)
先将原来表里面的数据清除掉,只保留表结构
mysql> use qf_t3;
mysql> delete from employee5;
mysql> load data infile '/sql/userinfo.sql' into table userinfo;
如果将数据导入别的表,需要创建这个表并创建相应的表结构。

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

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

相关文章

详细分析Element Plus中的ElMessageBox弹窗用法(附Demo及模版)

目录 前言1. 基本知识2. Demo3. 实战4. 模版 前言 由于需要在登录时&#xff0c;附上一些用户说明书的弹窗 对于ElMessageBox的基本知识详细了解 可通过官网了解基本的语法知识ElMessageBox官网基本知识 1. 基本知识 Element Plus 是一个基于 Vue 3 的组件库&#xff0c;其中…

20240523每日运维--------聊聊docker简介(一)

dotCloud 说Docker&#xff0c;必不可免不得不说dotCloud&#xff0c;Docker本来只是dotCloud公司的内部项目&#xff0c;其公司创始人 Solomon Hykes 发了一个内部项目&#xff0c;而这个项目就是Docker&#xff0c;自从2013年docker开源以后&#xff0c;在世界范围引起相当轰…

对于高速信号完整性,一块聊聊啊(12)

常见的无源电子器件 电子系统中的无源器件可以按照所担当的电路功能分为电路类器件、连接类器件。 A、电路类器件&#xff1a; &#xff08;1&#xff09;二极管&#xff08;diode&#xff09; &#xff08;2&#xff09;电阻器&#xff08;resistor&#xff09; &#xf…

浅谈对称加密非对称加密

对称加密&#xff1a;加密和解密使用的密钥是同一个 常见算法&#xff1a;DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES非对称加密&#xff1a;需要两个密钥&#xff0c;一个公开密钥、一个私有密钥 常见算法&#xff1a;RSA、ECC&#xff08;移动设备用&#xff09;、Dif…

vue3 ant ts 集成wavesurfer

实现功能有&#xff1a;音词同步&#xff0c;倍速播放&#xff0c;拖拽播放&#xff0c;快进\退 &#xff0c;重播&#xff0c;显示总 时长&#xff0c;关闭页面时关闭声音等功能 package.json 引入 "wavesurfer.js": "^7.7.14", 父页面引入自己封的 MyWa…

将推荐算法应用到llm上之comi_rec_sa

参考地址 https://aistudio.baidu.com/projectdetail/7943516 数据生成 import pandas as pd import numpy as npimport json import numpy as np with open("唐诗.json","r",encoding="utf-8") as f:data

深度讲解Spring Bean扫描类:源码深度剖析与实战策略

1. 引言 在Spring框架中&#xff0c;Bean的扫描是一个至关重要的过程&#xff0c;它决定了哪些类会被Spring容器管理并作为Bean实例化。对于高级Java工程师而言&#xff0c;深入理解这一过程不仅有助于提升对Spring框架的掌握程度&#xff0c;还能在实际开发中更加灵活地运用S…

归并排序算法(经典、常见)

今天我们不刷力扣了&#xff0c;我们来复习&#xff08;手撕&#xff09;一下数据结构中的八大排序算法之一&#xff0c;归并排序 基本概念&#xff1a; 归并排序&#xff08;Merge sort&#xff09;是建立在归并操作上的一种有效的排序算法&#xff0c;该算法是采用分治法&am…

SpringBoot中如何在服务器进行校验?

数据校验就是数据的合法性检查&#xff0c;在服务器端也可以对数据进行校验&#xff0c;一般使用JSR303 校验 JSR303是Java为Bean数据合法性校验提供的标准框架&#xff0c;是一种声明式校验 JSR303通过在Bean属性上标注类似于NotNull、Max等注解来指定校验规则&#xff0c;并…

小苯的排列构造(最大公约数,构造,数学推导)

文章目录 题目描述输入格式输出格式样例输入1样例输出1提交链接提示 解析参考代码 题目描述 格格有一个长度为 n n n 的排列 p p p&#xff0c;但她不记得 p p p 具体的样子&#xff0c;她只记得数组 a a a。 其中&#xff1a; a i g c d ( p 1 , p 2 , . . . , p i ) a…

【网络技术】【Kali Linux】Wireshark嗅探(十五)SSDP(简单服务发现协议)报文捕获及分析

往期 Kali Linux 上的 Wireshark 嗅探实验见博客&#xff1a; 【网络技术】【Kali Linux】Wireshark嗅探&#xff08;一&#xff09;ping 和 ICMP 【网络技术】【Kali Linux】Wireshark嗅探&#xff08;二&#xff09;TCP 协议 【网络技术】【Kali Linux】Wireshark嗅探&…

与MySQL DDL 对比分析OceanBase DDL的实现

本文将简要介绍OceanBase的DDL实现方式&#xff0c;并通过与MySQL DDL实现的对比&#xff0c;帮助大家更加容易理解。 MySQL DDL 的算法 MySQL 的DDL实现算法主要有 copy、inplace和instant。 copy copy算法的实现相对简单&#xff0c;MySQL首先会创建一个临时表&#xff0…

C++:STL

STL 文章目录 STLSTL 绪论迭代器&#xff08;iterators&#xff09;容器&#xff08;Containers&#xff09;vectorset,multisetmap,multimapstackqueuedequepriority_queuebitset 算法&#xff08;Algorithms&#xff09;sort,count,find,lower_bound,upper_bound,binary_sear…

(2024,attention,可并行计算的 RNN,并行前缀扫描)将注意力当作 RNN

Attention as an RNN 公众号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 3. 方法 3.1 注意力作为一种&#xff08;多对一的&#xff09;RNN 3.2 注意力作为&#xff08;多对多&…

多语言印度红绿灯系统源码带三级分销代理功能

前端为2套UI&#xff0c;一套是html写的&#xff0c;一套是编译后的前端 后台功能很完善&#xff0c;带预设、首充返佣、三级分销机制、代理功能。 东西很简单&#xff0c;首页就是红绿灯的下注页面&#xff0c;玩法虽然单一&#xff0c;好在不残缺可以正常跑。

Putty: 随心御剑——远程启动服务工具plink

一、引言:如何远程控制 也许你会有这样的场景,交互程序(以下简称UI程序)跑在windows端,而控制程序跑在Linux上。我们想要通过windows端 UI程序来启动Linux下面的服务,来一场酣畅淋漓的御剑飞行咋办,难道要自己十年磨一剑,在Linux下编写一个受控服务程序么.计算机科技发…

【MATLAB】信号的熵

近似熵、样本熵、模糊熵、排列熵|、功率谱熵、奇异谱熵、能量熵、包络熵 代码内容&#xff1a; 获取代码请关注MATLAB科研小白的个人公众号&#xff08;即文章下方二维码&#xff09;&#xff0c;并回复信号的熵本公众号致力于解决找代码难&#xff0c;写代码怵。各位有什么急需…

FreeRTOS中断中释放信号量

串口接收&#xff1a;中断程序中逆序打印字符串 串口接收&#xff1a;逆序回环实验思路 注&#xff1a;任务优先级较高会自动的切换上下文进行运行 FreeRTOS中的顶半操作和底半操作 顶半操作和底半操作“这种叫法源自与Linux”在嵌入式开发中&#xff0c;为了和Linux操作系统做…

kafka 案例

kafka 案例 目录概述需求&#xff1a; 设计思路实现思路分析1.kafka案例_API 带回调函数的生产者2.kafka案例_API生产者分区策略测试3.kafka案例_自定义分区的生产者4.kafka案例_API同步发送生产者5.kafka案例_API简单消费者5.kafka案例_API消费者重置offset 参考资料和推荐阅读…

Linux网络编程: 网络基础

Linux网络编程: 网络基础 1.网络划分 一.网络通信1.网络通信和本地通信的联系2.网络通信与本地通信最本质的区别及其衍生出的问题 二.网络协议初识1.为何本地通信不行&#xff1f;2.打电话的例子体会分层模型的好处3.OSI七层模型的提出4.OSI七层模型与TCP/IP五层模型1.TCP/IP与…