【MySQL】导出导入(两种方式),远程备份

2024-01-10 05:58:37

目录

前言:

一 navcat导入导出

1.1 导入

1.2 导出

二 mysqldump 导入导出

2.1 导入

2.2?导出

三 ?load data infile命令导入导出

3.1 导入

3.2 导出

四 远程备份

五 思维导图??


前言:

? ? 随着当今企业发展,数据库的数据越来越多,要导入导出的数据是避免不了的,但是,数据量超多怎么办,普通的navicat中的系统导入导出数据,小规模数据是只需要几秒,企业中都是成千上万的数据,用navcat导入导出是很慢很慢的,接下来小编将会使用几种比较效率的来进行导入导出,一起来学习吧!

一 navcat导入导出

navcat最原始的导入导出

1.1 导入

右击数据库名---》运行SQL文件

选择sql脚本----开始

我这个是近18万的sql脚本数据,用时32秒,还算中规中矩,但是如果是上百千万的数据可想而知

1.2 导出

选择表右击----转存SQL文件---结构和数据

导出的数据用时也要花10秒

下面的方式,会比普通的navicat导出导入更快!

二 mysqldump 导入导出

先进入mysql的安装bin目录下,先将所要导入的脚本放入该bin目录下

2.1 导入

1. 进入mysql的安装目录的bin目录,cmd打开命令窗口

2. mysql -u用户名 -p ? ? ? ? 输入数据库密码

3. create database kkk; ? ? ? ? ? ? ? ?创建数据库

4. use kkk; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?使用数据库

5. set names utf8; ? ? ? ? ? ? ? ? ? ? ? ? 设置数据库编码

6. source t_log.sql;? ? ? ? ? ? ? ? ? ? ? ? 导入所要的sql脚本(sql文件也要在bin目录下)

?最后一个source t_log_sql这个是错的,正确的是? source t_log.sql? 下面图片我就没纠正了

根据自己的sql脚本名来即可

导入成功

因为这样导入是没有时间显示的,我用计时器算了一下,大致10左右,比navicat导入快多了也提高了效率

2.2?导出

导出表数据和表结构:

mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql

(也是在bin目录下的命令窗口实现)

只导出表结构:

mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql

(也是在bin目录下的命令窗口实现)

三 ?load data infile命令导入导出

3.1 导入

① 查看是否支持load data infie

命令:show variables like 'secure%'? ?

显示null是没有的

② my文件添加权限

找到my文件

命令: secure_file_priv=C:

这个时候要重启一下mysql服务,继续使用查看命令。这个C:\\Windows\system32\就是导出的位置。

会发现只需要 0.2几秒

导出成功,在C磁盘的Windows\system32命令下?

3.2 导出

要注意:导入的时候看有没有表结构,就是单纯一个表里面没有数据,好方便我们导入数据进去,先清空表即可

语法:load data infile '磁盘:/sql路径.sql' into table 表名(列名1.....);

列子:

四 远程备份

导入
语法:

source 数据库名.sql;

示例:

source xxx.sql;(sql文件要在MySQL安装目录的bin目录下)

?导出
语法:

mysqldump -h地址 -u用户名 -p密码 数据库名 > 数据库名.sql

示例:

mysqldump -h192.168.244.132?-uroot -p123?xxx > xxx.sql

五 思维导图??

文章来源:https://blog.csdn.net/m0_73192864/article/details/135492207
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。