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;

相关推荐
Amd7947 天前
备份与恢复策略
数据恢复·数据安全·数据备份·数据保护·备份策略·灾难恢复·mysql备份
岁岁岁平安2 个月前
mysql上课总结(4)(MySQL中数据库的备份与还原(命令行或DataGrip中直接操作))
数据库·mysql·mysqldump·命令行·数据库的备份与还原·.exe
hh真是个慢性子2 个月前
【MySQL】mysql导出数据WPS科学计数法解决方法
mysql·科学计数法·数据导出
超爱找事3 个月前
iMazing只能苹果电脑吗 Win和Mac上的iMazing功能有区别吗
windows·macos·电脑·数据备份·苹果·imazing
磐石区3 个月前
Jenkins Docker Pipeline Clone Build Deploy mysqldump
docker·pipeline·jenkins·mysqldump·build
NineData4 个月前
如何将MySQL迁移到TiDB,完成无缝业务切换?
数据库·mysql·tidb·数据备份·数据迁移·异地多活·迁移同步
Eileen Seligman5 个月前
Linux命令速查表:压缩备份命令
linux·运维·restful·数据备份·压缩·解压缩·文件系统备份
kinlon.liu5 个月前
从MySQL迁移到PostgreSQL的完整指南
数据库·mysql·postgresql·mysqldump·数据迁移·pgloader
顶顶年华正版软件官方6 个月前
iOS18新增通话录音和应用锁!附升级教程及内置壁纸
macos·ios·数据备份·苹果·imazing
OceanBase数据库官方博客8 个月前
如何用OceanBase的 Load Data 导入CSV文件
oceanbase·分布式数据库·数据迁移·数据导入