MySQL之数据导入导出备份以及事务、存储引擎

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MySQL之数据导入导出备份以及事务、存储引擎 数据导入 作用:把文件系统的内容导入到数据库中 操作步骤: 1.在数据库中创建对应的表 create table userinfo(  username varchar(20), .

MySQL之数据导入导出备份以及事务、存储引擎

数据导入

作用:把文件系统的内容导入到数据库中

操作步骤:

1.在数据库中创建对应的表


create table userinfo(  username varchar(20),
passwd char(1),
uid int
gid int
comment varchar(50),  
homedir varchar(50), 
shell varchar(50) );

2.把要导入的文件拷贝到数据库搜索路径中

          1.查看数据库的搜索路径

                   show variables like "secure_file_priv";

          2.sudo cp / etc / passwd / var / lib / mysql - files /

3.执行数据导入语句(mysql输入四条命令一起写)

          load data infile "/var/lib/mysql-files/passwd"

          into table userinfo(库名)

          fields terminated by ":"  # 表示以冒号分割

          lines terminated by "\n";

数据导出

作用:将数据库中的表记录保存到系统文件中

语法格式:

select(...字段名) from 表名

into outfile "/var/lib/mysql-files/user1.txt"

fields terminated by "分隔符"

lines terminated by "\n";

数据备份(mysqldump,Linux终端操作)

命令格式 : mysqldump -u用户名 -p 源库名 > 路径/xxx.sql

源库名的表示方式:

--all-databases 备份所有库

 

 

库名      备份单个库

-B 库1 库2...   备份多个库

库名 表1 表2... 备份指定库的指定表

示例:

1.备份所有库all.sql,放到mydata目录中

     mysqldump -root -p --all-databases > all.sql

2.备份db4库中的sheng,city 和xian三张表为 db4scx.sql

     mysqldump -uroot -p db4 sheng city xian > db4scx.sql

数据恢复

命令格式 : mysql -u用户名 -p 目标库名 < xxx.sql

示例:

     mysql -uroot -p --one-database MOSHOU < all.sql

注意:

恢复库时,原库中表中记录会被覆盖,新增表不会被覆盖

事务和事务回滚

定义:一件事从开始发生到结束的过程

作用:确保数据一致性

事务应用

开启事务:begin;

## autocommit 被禁用,SQL命令不会提交到数据库执行

终止事务:commit;

rollback;

注意:

事务和事务回滚只针对表记录操作:增、删、改有效,对键库建表无效

 

 


示例:
1.背景 你:建行卡 你朋友:工商卡 你在建行自动取款机上给你朋友工商卡转5000元
2.过程
表1:CCB
create table CCb(name char(15),money init );
insert into CCB values ("xhuanwian",10000);
表2:ICBC
create table ICBC(name char(15),money int);
insert into ICBC values ("shouqian",4000);
3.
mysql>begin;
mysql>update CCB set money=5000 where name
mysql>update ICBC set money=9000 where name

存储引擎(代表表的处理器)

MySQL存储引擎(处理表的处理器)

基本操作:

        查看所有存储引擎

             show engines;

        查看表存储引擎

              show create table 表名;

        指定存储引擎

                create table 表名(……)engine = innodb,character set utf8;

         修改已有表的存储引擎

                 alter table 表名 engine=myisam;

工作常用

        InnoDB MyISAM

修改表的默认存储引擎(修改配置文件)

sudo -i

cd /etc/mysql/mysql.conf.d/

(复制一下,以防丢失)

[mysqld]

default-storage-engine=myisam

(修改默认引擎)

重启mysql

存储引擎特点

MyISAM特点

             独享表空间

              表名.frm bi结构

              表名.myd 表记录

               表名.myi 索引文件

                只支持表级锁

InnoDB特点

           共享表空间

           表名.frm 表结构和索引信息

           表名.ibd 表记录

            支持行级锁

memory

           表结构存储于硬盘,表记录存储于内存

            表名.frm

            服务重启后表结构还在,表记录都消失

 

决定表使用什么存储引擎

主要用来查询的表用MyISAM

写操作多的表用InnoDB

原文地址https://blog.csdn.net/sinat_42311311/article/details/81410817

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
18天前
|
存储 缓存 关系型数据库
MySQL底层概述—9.ACID与事务
本文介绍了数据库事务的ACID特性(原子性、一致性、隔离性、持久性),以及事务控制的演进过程,包括排队、排它锁、读写锁和MVCC(多版本并发控制)。文章详细解释了每个特性的含义及其在MySQL中的实现方式,并探讨了事务隔离级别的类型及其实现机制。重点内容包括:ACID特性(原子性、持久性、隔离性和一致性的定义及其实现方式)、事务控制演进(从简单的全局排队到复杂的MVCC,逐步提升并发性能)、MVCC机制(通过undo log多版本链和Read View实现高效并发控制)、事务隔离级别(析了四种隔离级别(读未提交、读已提交、可重复读、可串行化)的特点及适用场景)、隔离级别与锁的关系。
|
27天前
|
Java 关系型数据库 MySQL
SpringBoot 通过集成 Flink CDC 来实时追踪 MySql 数据变动
通过详细的步骤和示例代码,您可以在 SpringBoot 项目中成功集成 Flink CDC,并实时追踪 MySQL 数据库的变动。
182 43
|
20天前
|
存储 SQL 关系型数据库
MySQL底层概述—4.InnoDB数据文件
本文介绍了InnoDB表空间文件结构及其组成部分,包括表空间、段、区、页和行。表空间是最高逻辑层,包含多个段;段由若干个区组成,每个区包含64个连续的页,页用于存储多条行记录。文章还详细解析了Page结构,分为通用部分(文件头与文件尾)、数据记录部分和页目录部分。此外,文中探讨了行记录格式,包括四种行格式(Redundant、Compact、Dynamic和Compressed),重点介绍了Compact行记录格式及其溢出机制。最后,文章解释了不同行格式的特点及应用场景,帮助理解InnoDB存储引擎的工作原理。
MySQL底层概述—4.InnoDB数据文件
|
10天前
|
监控 关系型数据库 MySQL
MySQL和SQLSugar百万条数据查询分页优化
在面对百万条数据的查询时,优化MySQL和SQLSugar的分页性能是非常重要的。通过合理使用索引、调整查询语句、使用缓存以及采用高效的分页策略,可以显著提高查询效率。本文介绍的技巧和方法,可以为开发人员在数据处理和查询优化中提供有效的指导,提升系统的性能和用户体验。掌握这些技巧后,您可以在处理海量数据时更加游刃有余。
41 9
|
4天前
|
SQL 关系型数据库 MySQL
基于SQL Server / MySQL进行百万条数据过滤优化方案
对百万级别数据进行高效过滤查询,需要综合使用索引、查询优化、表分区、统计信息和视图等技术手段。通过合理的数据库设计和查询优化,可以显著提升查询性能,确保系统的高效稳定运行。
17 2
|
12天前
|
存储 关系型数据库 MySQL
MySQL进阶突击系列(09)数据磁盘存储模型 | 一行数据怎么存?
文中详细介绍了MySQL数据库中一行数据在磁盘上的存储机制,包括表空间、段、区、页和行的具体结构,以及如何设计和优化行数据存储以提高性能。
|
2月前
|
SQL 关系型数据库 MySQL
MySQL事务日志-Undo Log工作原理分析
事务的持久性是交由Redo Log来保证,原子性则是交由Undo Log来保证。如果事务中的SQL执行到一半出现错误,需要把前面已经执行过的SQL撤销以达到原子性的目的,这个过程也叫做"回滚",所以Undo Log也叫回滚日志。
104 7
MySQL事务日志-Undo Log工作原理分析
|
11天前
|
存储 SQL 关系型数据库
【YashanDB 知识库】MySQL 迁移至崖山 char 类型数据自动补空格问题
问题分类】功能使用 【关键字】char,char(1) 【问题描述】MySQL 迁移至崖山环境,字段类型源端和目标端都为 char(2),但应用存储的数据为'0'、'1',此时崖山查询该表字段时会自动补充空格 【问题原因分析】mysql 有 sql_mode 控制,检查是否启用了 PAD_CHAR_TO_FULL_LENGTH SQL 模式。如果启用了这个模式,MySQL 才会保留 CHAR 类型字段的尾随空格,默认没有启动。 #查看sql_mode mysql> SHOW VARIABLES LIKE 'sql_mode'; 【解决/规避方法】与应用确认存储的数据,正确定义数据
|
3月前
|
存储 缓存 关系型数据库
【MySQL进阶篇】存储引擎(MySQL体系结构、InnoDB、MyISAM、Memory区别及特点、存储引擎的选择方案)
MySQL的存储引擎是其核心组件之一,负责数据的存储、索引和检索。不同的存储引擎具有不同的功能和特性,可以根据业务需求 选择合适的引擎。本文详细介绍了MySQL体系结构、InnoDB、MyISAM、Memory区别及特点、存储引擎的选择方案。
【MySQL进阶篇】存储引擎(MySQL体系结构、InnoDB、MyISAM、Memory区别及特点、存储引擎的选择方案)
|
3月前
|
SQL 安全 关系型数据库
【MySQL基础篇】事务(事务操作、事务四大特性、并发事务问题、事务隔离级别)
事务是MySQL中一组不可分割的操作集合,确保所有操作要么全部成功,要么全部失败。本文利用SQL演示并总结了事务操作、事务四大特性、并发事务问题、事务隔离级别。
【MySQL基础篇】事务(事务操作、事务四大特性、并发事务问题、事务隔离级别)