MySQL之导入&导出&远程备份(详细讲解)

文章目录

  • 一、Navicat导入导出
  • 二、mysqldump命令导入导出
    • 2.1导出
    • 2.2导入(使用mysqldump导入 包含t_log表的整个数据库)
  • 三、LOAD DATA INFILE命令导入导出
    • 3.1设置;
    • 3.2导出
    • 3.3导入(使用单表数据导入load data infile的方式)
  • 四、远程备份
    • 4.1导出
    • 4.2导入

一、Navicat导入导出

  • 使用Navicat工具导入t_log共耗时45s.
  • 步骤:
    选择数据库运行脚本
    MySQL之导入&导出&远程备份(详细讲解)_第1张图片
    选择你要运行的sql文件
    MySQL之导入&导出&远程备份(详细讲解)_第2张图片
    MySQL之导入&导出&远程备份(详细讲解)_第3张图片
    MySQL之导入&导出&远程备份(详细讲解)_第4张图片

几十M的导入要20到45之间,想像一下一T的或者更大的,这样的话效率就显得低了,所以可以用下面mysqldump命令导入导出
MySQL之导入&导出&远程备份(详细讲解)_第5张图片

  • 导出:
    MySQL之导入&导出&远程备份(详细讲解)_第6张图片
    根据自己的需求来选择:结构和数据或仅结构
    MySQL之导入&导出&远程备份(详细讲解)_第7张图片
    MySQL之导入&导出&远程备份(详细讲解)_第8张图片

二、mysqldump命令导入导出

2.1导出

  • ①导出表数据和表结构
    语法:
mysqldump -u用户名 -p密码 数据库名>数据库名.sql

步骤:
在安装目录bin里面找到mysqldumpl.exe
MySQL之导入&导出&远程备份(详细讲解)_第9张图片
再在bin目录进入cmd
MySQL之导入&导出&远程备份(详细讲解)_第10张图片
输入命令:mysqldump -u用户名 -p密码 数据库名>数据库名.sql
MySQL之导入&导出&远程备份(详细讲解)_第11张图片
很快就导出了
MySQL之导入&导出&远程备份(详细讲解)_第12张图片
MySQL之导入&导出&远程备份(详细讲解)_第13张图片
MySQL之导入&导出&远程备份(详细讲解)_第14张图片
跟原始的脚本不一样,这是密密麻麻的,原始的是有空隙的
MySQL之导入&导出&远程备份(详细讲解)_第15张图片

  • ②只导出表结构
    语法:
mysqldump -u用户名 -p密码 -d 数据库名>数据库名.sql

2.2导入(使用mysqldump导入 包含t_log表的整个数据库)

  • ①方法一:
mysql>create database abc;
mysql>user abc;  #选择数据库
mysql>set names utf8; #设置数据库编码
mysql>source/D:/SoftwareInstallPath/mysql-8.0.13-winx64/bin/1234567.sql;  #导入数据

步骤:
进入Mysql安装目录下,在bin里面进入cmd
MySQL之导入&导出&远程备份(详细讲解)_第16张图片
先进入数据库里面mysql -uroot -p密码
MySQL之导入&导出&远程备份(详细讲解)_第17张图片
创建数据库:create database 数据库名
MySQL之导入&导出&远程备份(详细讲解)_第18张图片
使用你创建的数据库:use xxx;
MySQL之导入&导出&远程备份(详细讲解)_第19张图片
给它设置编码集set names utf8
MySQL之导入&导出&远程备份(详细讲解)_第20张图片
工具里面有你创建的数据库了:
MySQL之导入&导出&远程备份(详细讲解)_第21张图片
运行前面导出 的sql文件,执行命令:source xxx.sql;就开始导入了
MySQL之导入&导出&远程备份(详细讲解)_第22张图片
就导入成功了
MySQL之导入&导出&远程备份(详细讲解)_第23张图片
这个方式还是非常快的。一般公司里面用的就是这种。需要大量数据

  • ②方法二:
    语法:
mysql -u 用户名 -p密码 数据库名<数据库名.sql

三、LOAD DATA INFILE命令导入导出

3.1设置;

在mysql.ini文件的[mysqld]代码下增加 secure_file_priv=E:/TEST 再重启 MySQL

  • 查看secure_file_priv设置
show variables like 'secure%'

步骤:
首先你要去设置支持LOAD DATA INFILE命令导入导出的设置
MySQL之导入&导出&远程备份(详细讲解)_第24张图片
在mysql.ini文件的[mysqld]代码下增加 secure_file_priv=C: 再重启 MySQL
MySQL之导入&导出&远程备份(详细讲解)_第25张图片
MySQL之导入&导出&远程备份(详细讲解)_第26张图片
MySQL之导入&导出&远程备份(详细讲解)_第27张图片
就设置成功了。

3.2导出

  • 语法:
select * from 表名into outfile'/文件名.sql'

运行命令:
MySQL之导入&导出&远程备份(详细讲解)_第28张图片
可以看出来是非常快的。
去看一下导出来没有
MySQL之导入&导出&远程备份(详细讲解)_第29张图片

3.3导入(使用单表数据导入load data infile的方式)

  • 语法:
load data infile'/文件名.sql' into table表名(列名1,....);

步骤:
要保留表结构
运行命令:
MySQL之导入&导出&远程备份(详细讲解)_第30张图片
MySQL之导入&导出&远程备份(详细讲解)_第31张图片

四、远程备份

在公司里面是没有工具的,服务器是linux.

4.1导出

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

MySQL之导入&导出&远程备份(详细讲解)_第32张图片
MySQL之导入&导出&远程备份(详细讲解)_第33张图片

4.2导入

  • 语法:
source 数据库名.sql

MySQL之导入&导出&远程备份(详细讲解)_第34张图片
MySQL之导入&导出&远程备份(详细讲解)_第35张图片
MySQL之导入&导出&远程备份(详细讲解)_第36张图片
MySQL之导入&导出&远程备份(详细讲解)_第37张图片
现在可以去看有没

MySQL之导入&导出&远程备份(详细讲解)_第38张图片

你可能感兴趣的:(实施运维工程师,mysql,数据库)