MySQL数据库如何备份、恢复、导出与导入

10 篇文章 1 订阅
5 篇文章 1 订阅

数据库恢复

备份

表结构
**表结构**

首先,在要存储的文件目录下输入cmd,回车进入操作该目录的命令行
cmd
进入命令行以后
mysqldump命令 备份文件

注意这里我原来的数据库名为jx_db
因为有特殊符号_所以备份的时候会报找不到这个数据库的错误,于是我复制了这个数据库命名为jxdb才可以正常备份!

mysqldump -u root -p jxdb > jxdb_bk_20211205.sql
mysqldump -u root -p jxdb student> student_bk.sql

在这里插入图片描述
在这里插入图片描述

恢复

恢复这里我用的是mysql source命令 至于怎么直接使用另一个mysql -uroot 这样的命令我失败了…不知道为啥
原表为
在这里插入图片描述
删除一行:
有外键约束,把外键约束先关闭才能正常删除

SET FOREIGN_KEY_CHECKS = 0 ;
DELETE FROM student WHERE sno = 15202101;

在这里插入图片描述
恢复student表:

use jxdb;
source X:\ProgramData\SqlBackUp/student_bk.sql

在这里插入图片描述
恢复成功!
在这里插入图片描述

注意我们在备份的时候是不用登录mysql的,
而备份时可以直接在目录下进行命令行操作但是恢复时要先登录进mysql,恢复这里用到source命令并且要指定数据库

导出

SELECT * FROM sc INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/SC_out.txt';

导出时报错:
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

发现报错原因是安装mysql时限制了安全权限,这个选项设置系统变量: secure_file_priv,这个变量被用于限制数据导入的导出操作
用SHOW VARIABLES LIKE “secure_file_priv”;查看我们的文件路径

在这里插入图片描述
解决方案
解决办法
将文件导入到value的目录下 并且要注意sql语句中的斜杠要用\才可以!

SELECT * FROM sc INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/SC_out.txt';

在这里插入图片描述

导入

报错:
Loading local data is disabled; this must be enabled on both the client and server sides
在这里插入图片描述
查看导入允许是否打开

SHOW GLOBAL VARIABLES LIKE 'local_infile';

在这里插入图片描述
把这个值变为 ON,在mysql客户端输入:

set global local_infile=1;

在这里插入图片描述
指定原来的路径文件导入表中!
成功!

LOAD DATA LOCAL INFILE 
'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/SC_out.txt' 
INTO TABLE sc 

在这里插入图片描述
也可以导出为html
SELECT * FROM course INTO OUTFILE
‘C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/course_html.html’;
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

之墨_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值