MySQL学习笔记23

逻辑备份:

1、回顾什么是逻辑备份?

逻辑备份就是把数据库、数据表或者数据进行导出,导出到一个文本文件中。

2、逻辑备份工具:

mysqldump:提供全库级、数据库级别以及表级别的数据备份。

mysqldump+binlog:二进制日志实现增量备份。

3、逻辑的导出导入:

导出(数据备份):

无论是什么存储引擎,以下方式本身是一种数据导出的方法,同时可以用来辅助备份,它可以对一个表的其中一列或者某几列做备份。备份的是==数据记录。==

案例:把tb_student数据表中的数据记录进行逻辑导出。

 出现以上问题的主要原因在于我们没有指定MySQL逻辑导出时指定的路径。

我们将配置文件进行更新,并重启mysql。

 还需要更新下权限:

最后我们再执行导出操作:

mysql> select * into outfile '/tmp/sqlbak/tb_student.txt' from db_itheima.tb_student;
Query OK, 5 rows affected (0.00 sec)

 说明:备份的是数据表中的记录。

[root@mysql-server sqlbak]# ll
total 880
-rw-r--r-- 1 root  root  890067 Sep 29 07:04 all.sql
-rw-r----- 1 root  root     915 Sep 29 07:14 binlog.000005
-rw-rw-rw- 1 mysql mysql    112 Sep 29 11:37 tb_student.txt
[root@mysql-server sqlbak]# cat tb_student.txt
1       刘备    33      male    java
2       关羽    32      male    yunwei
4       貂蝉    18      female  ui
5       大乔    18      female  ui
6       小乔    16      female  ui

把数据逻辑进行导出,导出的结果是一个有规则的文本文件。

4、逻辑导入操作:

mysql> use db_itheima;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql>
mysql> drop table tb_student;
Query OK, 0 rows affected (0.00 sec)mysql> create table tb_student (-> id int not null auto_increment,-> name varchar(20),-> age tinyint unsigned default 0,-> gender enum('male','female'),-> subject enum('ui','java','yunwei','python'),-> primary key(id)-> )engine=innodb default charset=utf8;
Query OK, 0 rows affected (0.01 sec)mysql> load data local infile '/tmp/sqlbak/tb_student.txt' into table tb_student;
Query OK, 5 rows affected (0.00 sec)
Records: 5  Deleted: 0  Skipped: 0  Warnings: 0

local data local infile的方法,该方法要求在编译数据库编译的时候加上--enable-local-infile参数才行。

也可以使用方法:

mysqlimport  dbname /path/file    # 要求:导出的文件必须和数据表名称完全一致。

典型的应用场景:

可以把一些有规则的文本文件导入到数据库中。

案例:把/etc/passwd文件中的数据导入到password数据库中。

第一步:创建一个password数据库,password是mysql保留关键字,建议使用两个反撇号括起来。

use db_itheima;create table `password` (`uname` varchar(50) default null,`pass` char(2) default null,`uid` int(11) default null,`gid` int(11) default null,`comment` varchar(255) default null,`home` varchar(50) default null,`shell` varchar(50) default null
)engine=innodb default charset=utf8mb4;

第二步:把/etc/passwd文件拷贝到/tmp/sqlbak目录下,起名叫password.txt。

[root@mysql-server ~]# cp /etc/passwd /tmp/sqlbak/password.txt

第三步:使用mysqlimport把password.txt文件中的内容写入到数据表。

[root@mysql-server sqlbak]# mysqlimport db_itheima --fields-terminated-by=':' --lines-terminated-by                                           ='\n' /tmp/sqlbak/password.txt -p
Enter password:
db_itheima.password: Records: 21  Deleted: 0  Skipped: 0  Warnings: 0[root@mysql-server sqlbak]# mysql -e "select * from db_itheima.password;" -p
Enter password:
+-----------------+------+------+------+-----------------------------------------------------------------+--------------------+----------------+
| uname           | pass | uid  | gid  | comment                                                         | home               | shell          |
+-----------------+------+------+------+-----------------------------------------------------------------+--------------------+----------------+
| root            | x    |    0 |    0 | root                                                            | /root              | /bin/bash      |
| bin             | x    |    1 |    1 | bin                                                             | /bin               | /sbin/nologin  |
| daemon          | x    |    2 |    2 | daemon                                                          | /sbin              | /sbin/nologin  |
| adm             | x    |    3 |    4 | adm                                                             | /var/adm           | /sbin/nologin  |
| lp              | x    |    4 |    7 | lp                                                              | /var/spool/lpd     | /sbin/nologin  |
| sync            | x    |    5 |    0 | sync                                                            | /sbin              | /bin/sync      |
| shutdown        | x    |    6 |    0 | shutdown                                                        | /sbin              | /sbin/shutdown |
| halt            | x    |    7 |    0 | halt                                                            | /sbin              | /sbin/halt     |
| mail            | x    |    8 |   12 | mail                                                            | /var/spool/mail    | /sbin/nologin  |
| operator        | x    |   11 |    0 | operator                                                        | /root              | /sbin/nologin  |
| games           | x    |   12 |  100 | games                                                           | /usr/games         | /sbin/nologin  |
| ftp             | x    |   14 |   50 | FTP User                                                        | /var/ftp           | /sbin/nologin  |
| nobody          | x    |   99 |   99 | Nobody                                                          | /                  | /sbin/nologin  |
| systemd-network | x    |  192 |  192 | systemd Network Management                                      | /                  | /sbin/nologin  |
| dbus            | x    |   81 |   81 | System message bus                                              | /                  | /sbin/nologin  |
| polkitd         | x    |  999 |  998 | User for polkitd                                                | /                  | /sbin/nologin  |
| sshd            | x    |   74 |   74 | Privilege-separated SSH                                         | /var/empty/sshd    | /sbin/nologin  |
| postfix         | x    |   89 |   89 |                                                                 | /var/spool/postfix | /sbin/nologin  |
| ntp             | x    |   38 |   38 |                                                                 | /etc/ntp           | /sbin/nologin  |
| tss             | x    |   59 |   59 | Account used by the trousers package to sandbox the tcsd daemon | /dev/null          | /sbin/nologin  |
| mysql           | x    |  998 |  996 |                                                                 | /home/mysql        | /sbin/nologin  |
+-----------------+------+------+------+-----------------------------------------------------------------+--------------------+----------------+
[root@mysql-server sqlbak]#

使用navicat工具进行数据的导出:mysql支持远程连接。

借助一些mysql的管理软件来进行数据的导出导入。

根据向导一步一步地导出:

导出结果如下:

 

 

插入数据:

 

 

 

 这个是要注意的。

然后再进行导入操作:

 

数据表的备份和还原:

导出向导只能备份数据信息。

数据表的备份。

数据库的备份和还原。

 

转储SQL文件。

 

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

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

相关文章

苹果签名有多少种类之TF签名(TestFlight签名)是什么?优势是什么?什么场合需要应用到?

(一)TestFlight 能够让您:邀请内部和外部的测试人员为应用程序提供反馈。 跟踪应用程序在测试过程中发现的 bug 和用户体验问题。 收集 Crash 报告,了解应用程序在真实设备上的运行状况。 要使用 TestFlight,您可以按照…

[Spring] Spring5——AOP 简介

目录 一、AOP 简介 1、什么是 AOP 二、AOP 底层原理 1、动态代理原理 2、基于接口的 JDK 动态代理 3、基于继承的 CGLib 动态代理 三、底层原理实现—— JDK 动态代理 1、使用 Proxy 类的方法创建代理对象 2、JDK 动态代理示例 四、AOP 操作术语 1、连接点 2、切入…

docker安装apisix全教程包含windows和linux

docker安装apisix 一、Windows安装1、首先需要安装docker和docker compose,如果直接安装docker desktop,会自动安装docker compose。2、重新启动电脑3、访问 Docker 的下载([https://www.docker.com/products/docker-desktop](https://www.do…

Java类型转换和类型提升

目录 一、类型转换 1.1 自动类型转换(隐式) 1.1.1 int 与 long 之间 1.1.2 float 与 double 之间 1.1.3 int 与 byte 之间 1.2 强制类型转换(显示) 1.2.1 int 与 long 之间 1.2.2 float 与 double 之间 1.2.3 int 与 d…

【网络编程】UDP数据报套接字编程和TCP流套接字编程

文章目录 1. 网络编程基础1.1 为什么需要网络编程?1.2 网络编程是什么?1.3 概念 2. Socket套接字3. UDP数据报套接字编程3.1 DatagramSocket API3.2 DatagramPacket API3.3 InetSocketAddress API 4. UDP构建服务端客户端(一发一收&#xff0…

osg实现鼠标框选

目录 1. 需求的提出 2. 具体实现 2.1. 禁止场景跟随鼠标转动 2.2. 矩形框前置绘制 3. 附加说明 3.1. 颜色设置说明 3.2.矩形框显示和隐藏的另一种实现 1. 需求的提出 有时需要在屏幕通过按住键盘上的某个键如Ctrl键且按住鼠标左键,拖出一个矩形,实现框…

ValueError: check_hostname requires server_hostname

使用jupyter 下载js2py 异常 !pip install js2py ValueError: check_hostname requires server_hostname 一开始以为是数据源问题,切换阿里云 还是这个异常 结果发现是开魔法导致的,关闭魔法即可

怒刷LeetCode的第23天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一:贪心算法 方法二:动态规划 方法三:回溯算法 方法四:并查集 第二题 题目来源 题目内容 解决方法 方法一:排序和遍历 方法二:扫描线算法 方法…

英伟达NVIDIA驱动安装

一般,我们新的显卡上机或者新系统可能就需要重新安装显卡驱动。或者是我们在配置深度学习环境时候,需要手动安装驱动。 官网地址:官方高级驱动搜索 | NVIDIA 我们选择好自己需要的驱动后直接安装即可 下载的时候,选择自己需要的驱…

计算机竞赛 深度学习卷积神经网络垃圾分类系统 - 深度学习 神经网络 图像识别 垃圾分类 算法 小程序

文章目录 0 简介1 背景意义2 数据集3 数据探索4 数据增广(数据集补充)5 垃圾图像分类5.1 迁移学习5.1.1 什么是迁移学习?5.1.2 为什么要迁移学习? 5.2 模型选择5.3 训练环境5.3.1 硬件配置5.3.2 软件配置 5.4 训练过程5.5 模型分类效果(PC端) 6 构建垃圾…

JavaSE | 初识Java(一) | JDK \ JRE \ JVM

Java初识 Java 是一门半编译型、半解释型语言。先通过 javac 编译程序把源文件进行编译,编译后生成的 .class 文件是由字节 码组成的平台无关、面向 JVM 的文件。最后启动 java 虚拟机 来运行 .class 文件,此时 JVM 会将字节码转换成平台能够理…

线程的概述

#include <pthread.h> int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); 功能&#xff1a;创建一个子线程 参数&#xff1a; -thread:传出参数&#xff0c;线程创建成功后&#xff0c;子线程的ID被写到…

日常工作报告生成器微信小程序源码 支持日报,周报,月报,年终终结

相信大家上班都会有做工作报告的情况吧 那么这款小程序就是大家的福音了 只要输入你的工作内容或者岗位自动生成你的工作报告 支持报,周报,月报,年终终结 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/88391810 源码下载2&#xff1a;评论留言或私信…

竞赛选题 机器视觉的试卷批改系统 - opencv python 视觉识别

文章目录 0 简介1 项目背景2 项目目的3 系统设计3.1 目标对象3.2 系统架构3.3 软件设计方案 4 图像预处理4.1 灰度二值化4.2 形态学处理4.3 算式提取4.4 倾斜校正4.5 字符分割 5 字符识别5.1 支持向量机原理5.2 基于SVM的字符识别5.3 SVM算法实现 6 算法测试7 系统实现8 最后 0…

因为在此系统上禁止运行脚本

问题&#xff1a; 解决办法&#xff1a; vue项目搭建中"因为在此系统上禁止运行脚本"报错&#xff0c;解决方法 - 你的剧本 - 博客园 (cnblogs.com)

RDP协议流程详解(一)Connection Initiation阶段

Connetction Initiation是RDP连接的第一个阶段&#xff0c;具体包含两个消息RDP Negotiation Request和RDP Negotiation Response&#xff0c;下面结合协议数据包详细分析。 &#xff08;1&#xff09;RDP Negotiation Request 从数据包可以清晰看到此时的协议栈依次是TCP-TPKT…

反序列化漏洞

原理 反序列化是对象变成可以传输的字符串。 PHP反序列化的时候&#xff0c;基本都是围绕着serialize()&#xff0c;unserialize()这两个函数 serialize() 和 unserialize() 在 PHP内部没有漏洞的&#xff0c;产生反序列化漏洞是因为应用程序在处理对象、魔术函数以及序列化…

mysql面试题12:讲一讲MySQL中什么是半同步复制?底层实现?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:讲一讲mysql中什么是半同步复制?底层实现? MySQL中的半同步复制(Semi-Synchronous Replication)是一种复制模式,它在主服务器将数据写入到二…

10.2 调试事件获取DLL装载

理解了如何通过调试事件输出当前进程中寄存器信息&#xff0c;那么实现加载DLL模块也会变得很容易实现&#xff0c;加载DLL模块主要使用LOAD_DLL_DEBUG_EVENT这个通知事件&#xff0c;该事件可检测进程加载的模块信息&#xff0c;一旦有新模块被加载或装入那么则会触发一个通知…

k8s集群-6(daemonset job cronjob控制器)

Daemonset 一个节点部署一个节点 当有节点DaemonSet 确保全部 (或者某些) 节点上运行一个 Pod 的副本。加入集群时&#xff0c;也会为他们新增一个 Pod 。当有节点从集群移除时&#xff0c;这些Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。 DaemonSet 的典型用…