mysql 逻辑备份 恢复数据

一、逻辑备份

逻辑备份:备份的是建表,建库,插入数据等操作所执行SQL语句,适用于中小型数据库,效率相对较低,提供三种级别的备份,表级,库级和全库级。

本质:导出的是SQL语句

优点:不论是什么存储引擎,都可以用mysqldump备份成SQL语句

缺点:速度较慢,导出时可能会出现格式不兼容的突发状况,无法做增量备份和累计增量备份

数据一致,服务可用:如何保证数据一致,在备份的时候进行锁表会自动锁表。锁住之后在备份。

二、逻辑备份:

1、备份全部数据库

语法:mysqldump -u指定用户 -p指定密码 -A > 文件名

           mysqldump -u指定用户 -p指定密码 --all-databases > 文件名

[root@localhost ~]#  mysqldump -uroot -p123 -A > all.mysqlmysqldump: [Warning] Using a password on the command line interface can be insecure.[root@localhost ~]# mysqldump -uroot -p123 --all-database >all1.txt
mysqldump: [Warning] Using a password on the command line interface can be insecure.

2.备份部分数据库

语法:mysqldump -u指定用户 -p密码 -B  数据库名1 数据库名2> 文件名

           mysqldump -u指定用户 -p密码 --databases 数据库名1 数据库名2 > 文件名

[root@localhost ~]# mysqldump -uroot -p123 -B db1 >db1.txt
mysqldump: [Warning] Using a password on the command line interface can be insecure.[root@localhost ~]# mysqldump -uroot -p123 --databases db1 school > db2.txt 
mysqldump: [Warning] Using a password on the command line interface can be insecure.

3.备份表

语法:mysqldump -u指定用户 -p指定密码 数据库名 表名 > 文件名

[root@localhost ~]# mysqldump -uroot -p123 db1 employee > employee.txt
mysqldump: [Warning] Using a password on the command line interface can be insecure.

4.备份表结构

语法:mysqldump -u指定用户 -p指定密码 -d 数据库名 表名 

[root@localhost ~]# mysqldump -uroot -p123 -d db1 employee > jiegou.txt
mysqldump: [Warning] Using a password on the command line interface can be insecure.

5.备份表数据

语法:select * from  表.库 into outfile'/var/lib/mysql-files/文件名';

mysql> show variables like 'secure%'; #查看默认导出路径
+------------------+-----------------------+
| Variable_name    | Value                 |
+------------------+-----------------------+
| secure_auth      | ON                    |
| secure_file_priv | /var/lib/mysql-files/ |
+------------------+-----------------------+
2 rows in set (0.00 sec)mysql> select * from mysql.user into outfile '/var/lib/mysql-files/b.xfs';  
Query OK, 6 rows affected (0.00 sec)

扩展:修改默认的导出路径

[root@localhost opt]# mkdir backup #创建默认目录
[root@localhost opt]# chown -R mysql.mysql /opt/backup#修改目录的属主和属组
[root@localhost opt]# vim /etc/my.cnf  #修改配置文件
secure_file_priv=/opt/backup
[root@localhost opt]# systemctl restart mysqld #重启mysql[root@localhost opt]# mysql -p123 #进入mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.43 MySQL Community Server (GPL)Copyright (c) 2000, 2023, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show variables like 'secure%'; #再次查看文件的默认路径
+------------------+--------------+
| Variable_name    | Value        |
+------------------+--------------+
| secure_auth      | ON           |
| secure_file_priv | /opt/backup/ |
+------------------+--------------+
2 rows in set (0.01 sec)

6.恢复

(1)命令行恢复数据库

     a)命令行恢复

语法:mysql -u用户名 -p密码 < 之前备份的文件

mysql> drop  database db1;    #先删除数据库db1
Query OK, 15 rows affected (0.07 sec)
mysql> show databases;   #查看数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db3                |
| mysql              |
| performance_schema |
| school             |
| sys                |
+--------------------+
6 rows in set (0.00 sec)[root@localhost ~]# mysql -uroot -p123 < db1.txt #恢复数据库
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql> show databases;    #再次查看数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db1                |
| db3                |
| mysql              |
| performance_schema |
| school             |
| sys                |
+--------------------+
7 rows in set (0.00 sec)
    b)数据库里面恢复

语法:source +备份数据库的路径

mysql> drop database db1;  #删除数据库db1
Query OK, 15 rows affected (0.05 sec)mysql> source /root/db1.txt #恢复数据库db1
Query OK, 0 rows affected (0.00 sec).
.Query OK, 0 rows affected (0.00 sec)mysql> show databases; #查看数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db1                |
| db3                |
| mysql              |
| performance_schema |
| school             |
| sys                |
+--------------------+
7 rows in set (0.00 sec)

(2)恢复表

a)在命令行恢复

语法:mysql -u用户 -p密码   表所在的数据库< 备份的文件

[root@localhost ~]# mysql -uroot -p123  db1< employee.txt
mysql: [Warning] Using a password on the command line interface can be insecure.
b)在数据库里面恢复

语法:source +备份的路径

mysql> source /root/employee.txt
Query OK, 0 rows affected (0.00 sec)Query OK, 0 rows affected (0.00 sec)

(3)恢复表结构

语法:mysql -u用户 -p密码 -D 数据库名 < 备份的文件

[root@localhost ~]# mysql -uroot -p123 -D db1 <jiegou.txt
mysql: [Warning] Using a password on the command line interface can be insecure.mysql> desc employee;
+-----------------+---------------------+------+-----+---------+----------------+
| Field           | Type                | Null | Key | Default | Extra          |
+-----------------+---------------------+------+-----+---------+----------------+
| id              | int(11)             | NO   | PRI | NULL    | auto_increment |
| name            | varchar(30)         | NO   |     | NULL    |                |
| sex             | enum('man','woman') | YES  |     | man     |                |
| hire_date       | date                | YES  |     | NULL    |                |
| post            | varchar(20)         | YES  |     | NULL    |                |
| job_description | varchar(100)        | YES  |     | NULL    |                |
| salary          | double(15,2)        | NO   |     | NULL    |                |
| office          | int(11)             | YES  |     | NULL    |                |
| dep_id          | int(11)             | YES  |     | NULL    |                |
+-----------------+---------------------+------+-----+---------+----------------+
9 rows in set (0.00 sec)mysql> select * from employee;
Empty set (0.00 sec)

(4)恢复表中数据

mysql> truncate employee;   #清空表中数据
Query OK, 0 rows affected (0.02 sec)mysql> select * from employee; #查看表中数据
Empty set (0.00 sec)mysql> load data infile'/opt/backup/a.txt'into table employee;
Query OK, 15 rows affected (0.01 sec)
Records: 15  Deleted: 0  Skipped: 0  Warnings: 0mysql> select * from employee;
+----+-----------+-------+------------+------------+-----------------+----------+--------+--------+
| id | name      | sex   | hire_date  | post       | job_description | salary   | office | dep_id |
+----+-----------+-------+------------+------------+-----------------+----------+--------+--------+
|  1 | qiancheng | man   | 2018-03-14 | hr         | talk            |  7000.00 |    501 |    102 |
| 20 | tom       | man   | 2017-09-15 | instructor | teach           |  8000.00 |    501 |    100 |
| 21 | alince    | woman | 2013-04-28 | instructor | teach           |  5500.00 |    501 |    100 |
| 22 | robin     | man   | 2020-09-18 | instructor | teach           |  7200.00 |    501 |    100 |
| 23 | zhuzhu    | man   | 2016-12-09 | hr         | hrcc            |  6000.00 |    502 |    101 |
| 24 | gougou    | woman | 2015-04-27 | hr         | NULL            |  6000.00 |    502 |    101 |
| 30 | maomao    | man   | 2019-08-12 | sale       | talk            | 20000.00 |    503 |    102 |
| 31 | yiyi      | man   | 2015-06-17 | talk       | NULL            |  8000.00 |   NULL |   NULL |
| 40 | harry     | woman | 2018-02-05 | hr         | hrcc            |  6900.00 |    502 |    102 |
| 41 | tianyuan  | man   | 2018-02-05 | null       | salecc          |  9700.00 |    501 |    102 |
| 42 | xiaoyi    | man   | 2018-02-05 | null       | salecc          |  5700.00 |    501 |    102 |
| 50 | zxvb      | man   | 2019-04-23 | hr         | NULL            |  8000.00 |   NULL |   NULL |
| 51 | ab        | man   | NULL       | NULL       | NULL            |  6500.00 |   NULL |   NULL |
| 52 | cd        | man   | NULL       | NULL       | NULL            |  7600.00 |   NULL |   NULL |
| 53 | ef        | man   | NULL       | NULL       | NULL            |  8900.00 |   NULL |   NULL |
+----+-----------+-------+------------+------------+-----------------+----------+--------+--------+
15 rows in set (0.00 sec)

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

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

相关文章

【外汇天眼】携手共护外汇投资:2023年WikiFX晚宴首次在越南圆满举行

9月23日&#xff0c;WikiFX在越南与Wsaas合作举办了一场晚宴&#xff0c;以此表达对合作伙伴的感谢。此次晚会不仅仅是各位行业精英聚一起分享经验、了解行业动向的机会&#xff0c;也是WikiFX在越南分部第一次思考与复盘的活动。 回顾过去——WikiFX在越南的四年 从2019年开始…

linearlayout中使用多个weight导致部分子控件消失异常

问题描述&#xff1a; 在一个linearlayout中写了两个用到weight的布局&#xff0c;在androidstudio中显示正常 但是代码跑起来之后最下面哪一行都消失了&#xff1b; 解决办法1 把两个用到weight的改成一个了&#xff0c;外面那层的weight写成固定宽度就能正常显示出丢失的…

软件设计师考试错题

删除线格式 1. 192.168.37.192/25是什么地址 知识点&#xff1a;主机号全为0的ip成为网络地址&#xff0c;全为1的ip地址成为定向广播地址&#xff0c;都不能做源地址。 192.168.37.192/25表示前25位为网络号&#xff0c;后7位为主机号&#xff0c;192.168.37.11000000 2. 如果…

LRU 缓存 -- 哈希链表

相关题目 146. LRU 缓存 要让 put 和 get ⽅法的时间复杂度为 O(1)&#xff0c;我们可以总结出 cache 这个数据结构必要的条件&#xff1a; 1、显然 cache 中的元素必须有时序&#xff0c;以区分最近使⽤的和久未使⽤的数据&#xff0c;当容量满了之后要删除最久未使⽤的那个元…

Shibuya109 109 可穿戴系列来啦!

准备好用 “SHIBUYA109”可穿戴系列来提升你们的时尚感。该系列包含各种时尚相关单品&#xff0c;从 9 月 26 日起也将在 SHIBUYA109 体验中提供。用大量尖端的日本时尚单品来装扮你的人物化身吧。 探索元宇宙中 SHIBUYA109 的世界&#xff0c;穿上可爱的时尚单品&#xff0c;…

python scanpy spatial空转全流程

Spatial mapping of cell types across the mouse brain (1/3) - estimating reference expression signatures of cell types — cell2location documentation Spatial mapping of cell types across the mouse brain (2/3) - cell2location — cell2location documentation #…

深度学习基础之GFLOPS(2)

什么是GFLOPS 神经网络的GFLOPS&#xff08;Giga FLoating-Point Operations Per Second&#xff09;代表了神经网络模型执行计算的速度和计算能力。这可以用一个类比来解释&#xff1a; GFLOPS就像神经网络模型的"运算速度"标签。 想象你有两个数学家&#xff0c…

uniapp:动态修改页面标题

我们经常遇到这种情况&#xff0c;点击新增按钮&#xff0c;进入一个空白表单页面&#xff0c;点击修改按钮&#xff0c;其实也是进入这个表单页面&#xff0c;只是表单内容已经被数据库的记录反显了&#xff0c;为了区别页面&#xff0c;我们还需要动态设置页面的标题&#xf…

期望最大化(EM)算法:从理论到实战全解析

目录 一、引言概率模型与隐变量极大似然估计&#xff08;MLE&#xff09;Jensen不等式 二、基础数学原理条件概率与联合概率似然函数Kullback-Leibler散度贝叶斯推断 三、EM算法的核心思想期望&#xff08;E&#xff09;步骤最大化&#xff08;M&#xff09;步骤Q函数与辅助函数…

【Spring笔记05】Spring的自动装配

这篇文章&#xff0c;主要介绍的内容是Spring的自动装配、五种自动装配的方式。 目录 一、自动装配 1.1、什么是自动装配 1.2、五种自动装配方式 &#xff08;1&#xff09;no &#xff08;2&#xff09;default &#xff08;3&#xff09;byType &#xff08;4&#xf…

Ansys Optics Launcher 提升客户体验

概述 为了改善用户体验&#xff0c;Ansys Optics 团队开发了一个新的一站式启动应用程序&#xff0c;简化了工作流程并提高了效率。随着Ansys 2023 R2的最新更新&#xff0c;Ansys Optics Launcher 现已安装在Ansys Speos, Ansys Lumerical和Ansys Zemax OpticStudio中。作为一…

React Hooks—— context hooks

什么是Hooks Hooks从语法上来说是一些函数。这些函数可以用于在函数组件中引入状态管理和生命周期方法。 React Hooks的优点 简洁 从语法上来说&#xff0c;写的代码少了上手非常简单 基于函数式编程理念&#xff0c;只需要掌握一些JavaScript基础知识与生命周期相关的知识不…

Docker之Dockerfile搭建lnmp

目录 一、搭建nginx ​编辑 二、搭建Mysql&#xff08;简略版&#xff09; 三、搭建PHP 五、补充 主机名ip地址主要软件mysql2192.168.11.22Docker 代码示例 systemctl stop firewalld systemctl disable firewalld setenforce 0docker network create --subnet172.18.…

OWASP Top 10漏洞解析(3)- A3:Injection 注入攻击

作者&#xff1a;gentle_zhou 原文链接&#xff1a;OWASP Top 10漏洞解析&#xff08;3&#xff09;- A3:Injection 注入攻击-云社区-华为云 Web应用程序安全一直是一个重要的话题&#xff0c;它不但关系到网络用户的隐私&#xff0c;财产&#xff0c;而且关系着用户对程序的新…

十进制分钟转时间类型

/*** 十进制分钟转时间类型** param decimalTime 十进制分钟数*/public static String tenToDate(int decimalTime) {// int decimalTime 3695; // 十进制时间数int hours decimalTime / 3600;int minutes (decimalTime % 3600) / 60;int seconds decimalTime % 60;Decimal…

Scala第十八章节

Scala第十八章节 scala总目录 文档资料下载 章节目标 掌握Iterable集合相关内容.掌握Seq集合相关内容.掌握Set集合相关内容.掌握Map集合相关内容.掌握统计字符个数案例. 1. Iterable 1.1 概述 Iterable代表一个可以迭代的集合, 它继承了Traversable特质, 同时也是其他集合…

K8S网络原理

文章目录 一、Kubernetes网络模型设计原则IP-per-Pod模型 二、Kubernetes的网络实现容器到容器的通信Pod之间的通信同一个Node内Pod之间的通信不同Node上Pod之间的通信 CNI网络模型CNM模型CNI模型在Kubernetes中使用网络插件 开源的网络组件FlannelFlannel实现图Flannel特点 Op…

23年7/8月前端小结

简历 - C端&#xff0c;技术栈VUE 多次问的问题类型&#xff1a; 设计模式&#xff0c;有哪些&#xff0c;遇到哪些&#xff0c;用过哪些&#xff0c;实现一个原型链&#xff0c;说&#xff0c;或者出题给结果&#xff08;比如new实例&#xff0c;改原型各种&#xff09;闭包…

软考 系统架构设计师系列知识点之软件架构风格(2)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之软件架构风格&#xff08;1&#xff09; 这个十一注定是一个不能放松、保持“紧”的十一。由于报名了全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff0c;11月4号就要考试&#xff0c;因此…

pyppeteer 基本用法和案例

特点 自带chromium 不用自己下载也可以下载&#xff0c;比较省事.比selenium好用 可异步调用 简介 一. pyppeteer介绍 Puppeteer是谷歌出品的一款基于Node.js开发的一款工具&#xff0c;主要是用来操纵Chrome浏览器的 API&#xff0c;通过Javascript代码来操纵Chrome浏览器&am…