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;

相关推荐
顶顶年华正版软件官方20 天前
iOS18新增通话录音和应用锁!附升级教程及内置壁纸
macos·ios·数据备份·苹果·imazing
OceanBase数据库官方博客2 个月前
如何用OceanBase的 Load Data 导入CSV文件
oceanbase·分布式数据库·数据迁移·数据导入
电手2 个月前
VMware ESXi虚拟机备份的方法和步骤
数据备份·虚拟机备份·傲梅企业备份旗舰版
yancqitcode3 个月前
使用Docker定时备份数据
docker·容器·数据备份·nginx日志
ChunkWen4 个月前
迁移 MySQL 数据到 OceanBase 集群(mysqldump+datax)
mysql·oceanbase·mysqldump·信创·datax·数据迁移·国产数据库
田驰025 个月前
MySQL全量备份
linux·运维·数据库·mysql·mysqldump
GottdesKrieges5 个月前
mysqldump导数报错error 2008处理办法
android·mysql·mysqldump
深度混淆7 个月前
一个跨平台、跨空间支持多用户的远程云备份系统
数据备份·文件备份·云备份·备份系统·数据库备份
xin麒8 个月前
不同MySQL服务的表以及库的数据迁移(/备份)
数据库·mysql·数据备份·数据迁移