当前位置: 首页 > news >正文

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.lryc.cn/news/179721.html

相关文章:

  • Java基础---第十篇
  • NLP 03(LSTM)
  • Python集成开发环境(IDE):WingPro for Mac
  • [Machine learning][Part3] numpy 矢量矩阵操作的基础知识
  • 【中秋国庆不断更】HarmonyOS对通知类消息的管理与发布通知(上)
  • 喜讯 | 怿星科技获评SAE“优秀核心零部件企业”,测试软件平台工具广受赞誉
  • 基于Java的医院预约挂号系统设计与实现(源码+lw+部署文档+讲解等)
  • 福利!这两款我自制的免费配色工具你领到了吗?
  • Docker 网桥、docker0 网桥和 --net host:平台差异、使用方式和场景介绍简介:
  • 【深度学习】系统架构工具链的学习笔记
  • Linux 网络编程
  • SpringBoot读取配置的方式
  • c# winform程序,DispatcherTimer被调用延迟,响应间隔长
  • 【智能家居项目】裸机版本——项目介绍 | 输入子系统(按键) | 单元测试
  • 算法练习8——有序三元组中的最大值
  • git创建
  • yolov8 opencv模型部署(python版)
  • Simulink仿真封装中的参数个对话框设置
  • 【C++】class的设计与使用(十)重载iostream运算符
  • Java使用Scanner类实现用户输入与交互
  • FFmpeg 命令:从入门到精通 | ffppeg 命令参数说明
  • Chrome(谷歌浏览器)如何关闭搜索栏历史记录
  • 基于Java的宠物医院管理系统设计与实现(源码+lw+部署文档+讲解等)
  • 使用WPS自动化转换办公文档: 将Word, PowerPoint和Excel文件转换为PDF
  • 对pyside6中的textedit进行自定义,实现按回车可以触发事件。
  • Spark SQL
  • 初识多线程
  • Linux用户、用户组和文件权限的管理与实践
  • 【CMU15-445 Part-14】Query Planning Optimization I
  • 七、垃圾收集中级