mysql使用--备份与恢复

1.mysqldump

1.1.使用mysqldump备份数据

1.1.1.备份指定数据库中的指定表

如:mysqldump [其他选项] 数据库名 [表1名 表2名 ...]

如:mysqldump -uroot -hlocalhost -p1234 database1 student_score > student_score.sql

上述采用-u和-p完成用户登录;-h表明登录到本机mysql服务端;database1 student_score交代了要备份的表所在的数据库名,表名;> student_score.sql指示将命令执行结果输出到student_score.sql这个文件。

有了student_score.sql这个文件,后续当表student_score被误删除,或想在别的数据库服务器上重建这个表并填充。执行这个sql中语句即可。

1.1.2.备份指定数据库中的所有表

如:mysqldump [其他选项] --database 数据库1名 数据库2名 ...

如:mysqldump -uroot -hlocalhost -p1234 --databases database1 database2 > new.sql

1.1.3.备份所有数据库的所有表

如:mysqldump [其他选项] --all-databases

如:mysqldump -uroot -hlocalhost -p1234 --all-databases > all.sql

1.2.使用SOURCE语句恢复数据

得到备份文件之后,可通过SOURCE语句来执行备份文件中的语句

如:SOURCE .\student_score.sql

2.以文本形式导出或导入

日常工作中,可能遇到这样需求:将表中的数据以文本的形式进行导出或将文本形式的数据导入到表中。此时,SELECT ... INTO OUTFILELOAD DTA语句可用来实现目标。

2.1.导出数据

如:SELECT ... INTO OUTFILE '文件路径' [导出选项]

常用的导出选项如下:

(1).FIELDS TERMINATED BY:

表示列分隔符,即各个列的值之间使用什么符号进行分隔,默认以'\t'分隔。如:FIELDS TERMINATED BY ','设置以逗号作为分隔。

(2).FIELDS [OPTIONALLY] ENCLOSED BY:

表示列引用符,即每个列的值被什么符号包裹起来,默认是空字符串''。如加上OPTIONALLY则只会作用于字符串类型的列。

比如,FILEDS ENCLOSED BY '"'表示每隔列的值将被双引号引起来。

(3).LINES STARTING BY:

表示行开始符,即每一行以什么符号开头,默认是空字符串''。如,LINES STARTING BY '%%'表示每行以两个百分号开头。

(4).LINES TERMINATED BY:

表示行结束符,即每一行以什么符号结尾,默认是换行符'\n'。如,LINES TERMINATED BY '$$'表示每行以两个美元符号结尾。

示例:导出student_score表中的数据:

复制代码
SELECT * FROM student_score INTO OUTFILE 'C:/ProgramData/MySQL/student_score.txt';

可以设置导出选项导出:

复制代码
SELECT * FROM student_score INTO OUTFILE 'C:/ProgramData/MySQL/student_score2.txt' FIELDS OPTIONALLY ENCLOSED BY '"' LINES STARTING BY '>_>';

导出数据会存储到运行服务器所在的主机上。

2.2.导入数据

如:LOAD DATA [LOCAL] INFILE '文件路径' INTO TABLE 表名 [导入选项]

填入LOCAL表明导入的数据文件在运行客户端的主机上,否则就在运行服务器的主机上。

如:LOAD DATA INFILE 'C:/ProgramData/MySQL/student_score.txt' INTO TABLE student_score;

相关推荐
漠月瑾-西安23 天前
信创背景下的分布式数据库备份难题及解决之道
数据库·分布式·信创·数据备份
IT成长日记1 个月前
【Hive入门】Hive数据导出完全指南:从HDFS到本地文件系统的专业实践
hive·hadoop·hdfs·数据导出
青云交2 个月前
Java 大视界 -- 基于 Java 的大数据分布式存储系统的数据备份与恢复策略(139)
java·大数据·分布式·数据恢复·数据备份·分布式存储·并行处理
格桑阿sir3 个月前
Kubernetes控制平面组件:etcd高可用集群搭建
kubernetes·数据恢复·etcd·集群·数据备份·高可用·snapshot
Amd7945 个月前
备份与恢复策略
数据恢复·数据安全·数据备份·数据保护·备份策略·灾难恢复·mysql备份
岁岁岁平安7 个月前
mysql上课总结(4)(MySQL中数据库的备份与还原(命令行或DataGrip中直接操作))
数据库·mysql·mysqldump·命令行·数据库的备份与还原·.exe
hh真是个慢性子8 个月前
【MySQL】mysql导出数据WPS科学计数法解决方法
mysql·科学计数法·数据导出
超爱找事8 个月前
iMazing只能苹果电脑吗 Win和Mac上的iMazing功能有区别吗
windows·macos·电脑·数据备份·苹果·imazing
磐石区9 个月前
Jenkins Docker Pipeline Clone Build Deploy mysqldump
docker·pipeline·jenkins·mysqldump·build
NineData9 个月前
如何将MySQL迁移到TiDB,完成无缝业务切换?
数据库·mysql·tidb·数据备份·数据迁移·异地多活·迁移同步