MySQL 逻辑备份 into outfile


Posted in MySQL onMay 15, 2022

逻辑数据导出(备份)

用法:

select xxx into outfile '/path/file' from table_name;
mysql>select * into outfile '/back/emp3.sql' from emp;

无论是什么存储引擎,本身是一种数据导出的方法,同时可以用来辅助备份,它可以对一个表的其中一列或者某几列做备份,如果是多列的话用逗号隔开

逻辑数据导入(恢复)

方法一:

load data local infile '/path/file' into table table_name;
mysql> load data local infile '/back/emp.sql' into table emp;

 说明:该方法要求在编译数据库时要加上--enable-local-infile参数才可以使用

方法二:

# mysqlimport dbname /path/filename

说明:filename 必须和数据库里面表名一样

综合示例

例一

# 创建表
mysql> create table t1(id int, name varchar(32));
# 插入数据
mysql> insert into t1 values(1,'haha'),(2,'wowo'),(3,'lili'),(4,'yoyo');
# 查看表
mysql> select * from t1;
+------+------+
| id | name |
+------+------+
| 1 | haha |
| 2 | wowo |
| 3 | lili |
| 4 | yoyo |
+------+------+
# 备份
mysql> select id, name into outfile '/tmp/back_mysql' from t1;
Query OK, 4 rows affected (0.01 sec)

查看备份

[root@Admin ~]# cat /tmp/back_mysql
1 haha
2 wowo
3 lili
4 yoyo

删除数据并测试

mysql> delete from t1 where id=3;
Query OK, 1 row affected (0.00 sec)

mysql> select * from t1;
+------+------+
| id | name |
+------+------+
| 1 | haha |
| 2 | wowo |
| 4 | yoyo |
+------+------+
3 rows in set (0.00 sec)
mysql> load data local infile '/tmp/back_mysql' into table t1;
Query OK, 4 rows affected (0.00 sec)
Records: 4 Deleted: 0 Skipped: 0 Warnings: 0

mysql> select * from t1;
+------+------+
| id | name |
+------+------+
| 1 | haha |
| 2 | wowo |
| 4 | yoyo |
| 1 | haha |
| 2 | wowo |
| 3 | lili |
| 4 | yoyo |
+------+------+
7 rows in set (0.00 sec)

例二

创建一个表,把系统里的/etc/passwd导入数据库

create table password(
username varchar(40),
password char(5),
uid int,
gid int,
comment varchar(30),
homedir varchar(30),
shell varchar(30));

处理passwd文件,将:替换成制表符

[root@Admin ~]# sed -n 's/:/\t/gp' /etc/passwd >/tmp/passwd

导入数据库

方法一:

mysql> load data local infile '/tmp/passwd' into table password;
mysql> select * from password;
+---------------+----------+-------+-------+------------------------------+------------------------+----------------+
| username      | password | uid   | gid   | comment                      | homedir                | shell          |
+---------------+----------+-------+-------+------------------------------+------------------------+----------------+
| root          | x        |     0 |     0 | root                         | /root                  | /bin/bash      |
| bin           | x        |     1 |     1 | bin                          | /bin                   | /sbin/nologin  |
| daemon        | x        |     2 |     2 | daemon                       | /sbin                  | /sbin/nologin  |
| adm           | x        |     3 |     4 | adm                          | /var/adm               | /sbin/nologin  |
| lp            | x        |     4 |     7 | lp                           | /var/spool/lpd         | /sbin/nologin  |
| sync          | x        |     5 |     0 | sync                         | /sbin                  | /bin/sync      |
| shutdown      | x        |     6 |     0 | shutdown                     | /sbin                  | /sbin/shutdown |
| halt          | x        |     7 |     0 | halt                         | /sbin                  | /sbin/halt     |
| mail          | x        |     8 |    12 | mail                         | /var/spool/mail        | /sbin/nologin  |
| uucp          | x        |    10 |    14 | uucp                         | /var/spool/uucp        | /sbin/nologin  |
| operator      | x        |    11 |     0 | operator                     | /root                  | /sbin/nologin  |
| games         | x        |    12 |   100 | games                        | /usr/games             | /sbin/nologin  |
| gopher        | x        |    13 |    30 | gopher                       | /var/gopher            | /sbin/nologin  |
| ftp           | x        |    14 |    50 | FTP User                     | /var/ftp               | /sbin/nologin  |
| nobody        | x        |    99 |    99 | Nobody                       | /                      | /sbin/nologin  |
| dbus          | x        |    81 |    81 | System message bus           | /                      | /sbin/nologin  |
| usbmuxd       | x        |   113 |   113 | usbmuxd user                 | /                      | /sbin/nologin  |
| rpc           | x        |    32 |    32 | Rpcbind Daemon               | /var/lib/rpcbind       | /sbin/nologin  |
| rtkit         | x        |   499 |   499 | RealtimeKit                  | /proc                  | /sbin/nologin  |
| avahi-autoipd | x        |   170 |   170 | Avahi IPv4LL Stack           | /var/lib/avahi-autoipd | /sbin/nologin  |
| vcsa          | x        |    69 |    69 | virtual console memory owner | /dev                   | /sbin/nologin  |
| abrt          | x        |   173 |   173 |                              | /etc/abrt              | /sbin/nologin  |
| rpcuser       | x        |    29 |    29 | RPC Service User             | /var/lib/nfs           | /sbin/nologin  |
| nfsnobody     | x        | 65534 | 65534 | Anonymous NFS User           | /var/lib/nfs           | /sbin/nologin  |
| haldaemon     | x        |    68 |    68 | HAL daemon                   | /                      | /sbin/nologin  |
| ntp           | x        |    38 |    38 |                              | /etc/ntp               | /sbin/nologin  |
| apache        | x        |    48 |    48 | Apache                       | /var/www               | /sbin/nologin  |
| saslauth      | x        |   498 |    76 | Saslauthd user               | /var/empty/saslauth    | /sbin/nologin  |
| postfix       | x        |    89 |    89 |                              | /var/spool/postfix     | /sbin/nologin  |
| gdm           | x        |    42 |    42 |                              | /var/lib/gdm           | /sbin/nologin  |
| pulse         | x        |   497 |   496 | PulseAudio System Daemon     | /var/run/pulse         | /sbin/nologin  |
| sshd          | x        |    74 |    74 | Privilege-separated SSH      | /var/empty/sshd        | /sbin/nologin  |
| tcpdump       | x        |    72 |    72 |                              | /                      | /sbin/nologin  |
| mysql         | x        |    27 |    27 | MySQL Server                 | /var/lib/mysql         | /bin/bash      |
+---------------+----------+-------+-------+------------------------------+------------------------+----------------+

方法二:

通过mysqlimport进行导入

注意:导入的文件名必须和表名一样

[root@Admin ~]# cp /etc/passwd /tmp/password
[root@Admin ~]# mysqlimport --fields-terminated-by=':' --lines-terminated-by='\n' login '/tmp/password'
login.password: Records: 34 Deleted: 0 Skipped: 0 Warnings: 0

说明:文件不需处理, 通过--fields-terminated-by=':' 和 --lines-terminated-by='\n' 将passwd文件中的冒号替换为制表符

mysql> select * from password;
+---------------+----------+-------+-------+------------------------------+------------------------+----------------+
| username | password | uid | gid | comment | homedir | shell |
+---------------+----------+-------+-------+------------------------------+------------------------+----------------+
| root | x | 0 | 0 | root | /root | /bin/bash |
| bin | x | 1 | 1 | bin | /bin | /sbin/nologin |
| daemon | x | 2 | 2 | daemon | /sbin | /sbin/nologin |
| adm | x | 3 | 4 | adm | /var/adm | /sbin/nologin |
| lp | x | 4 | 7 | lp | /var/spool/lpd | /sbin/nologin |
| sync | x | 5 | 0 | sync | /sbin | /bin/sync |
| shutdown | x | 6 | 0 | shutdown | /sbin | /sbin/shutdown |
| halt | x | 7 | 0 | halt | /sbin | /sbin/halt |
| mail | x | 8 | 12 | mail | /var/spool/mail | /sbin/nologin |
| uucp | x | 10 | 14 | uucp | /var/spool/uucp | /sbin/nologin |
| operator | x | 11 | 0 | operator | /root | /sbin/nologin |
| games | x | 12 | 100 | games | /usr/games | /sbin/nologin |
| gopher | x | 13 | 30 | gopher | /var/gopher | /sbin/nologin |
| ftp | x | 14 | 50 | FTP User | /var/ftp | /sbin/nologin |
| nobody | x | 99 | 99 | Nobody | / | /sbin/nologin |
| dbus | x | 81 | 81 | System message bus | / | /sbin/nologin |
| usbmuxd | x | 113 | 113 | usbmuxd user | / | /sbin/nologin |
| rpc | x | 32 | 32 | Rpcbind Daemon | /var/lib/rpcbind | /sbin/nologin |
| rtkit | x | 499 | 499 | RealtimeKit | /proc | /sbin/nologin |
| avahi-autoipd | x | 170 | 170 | Avahi IPv4LL Stack | /var/lib/avahi-autoipd | /sbin/nologin |
| vcsa | x | 69 | 69 | virtual console memory owner | /dev | /sbin/nologin |
| abrt | x | 173 | 173 | | /etc/abrt | /sbin/nologin |
| rpcuser | x | 29 | 29 | RPC Service User | /var/lib/nfs | /sbin/nologin |
| nfsnobody | x | 65534 | 65534 | Anonymous NFS User | /var/lib/nfs | /sbin/nologin |
| haldaemon | x | 68 | 68 | HAL daemon | / | /sbin/nologin |
| ntp | x | 38 | 38 | | /etc/ntp | /sbin/nologin |
| apache | x | 48 | 48 | Apache | /var/www | /sbin/nologin |
| saslauth | x | 498 | 76 | Saslauthd user | /var/empty/saslauth | /sbin/nologin |
| postfix | x | 89 | 89 | | /var/spool/postfix | /sbin/nologin |
| gdm | x | 42 | 42 | | /var/lib/gdm | /sbin/nologin |
| pulse | x | 497 | 496 | PulseAudio System Daemon | /var/run/pulse | /sbin/nologin |
| sshd | x | 74 | 74 | Privilege-separated SSH | /var/empty/sshd | /sbin/nologin |
| tcpdump | x | 72 | 72 | | / | /sbin/nologin |
| mysql | x | 27 | 27 | MySQL Server | /var/lib/mysql | /bin/bash |
+---------------+----------+-------+-------+------------------------------+------------------------+----------------+
34 rows in set (0.00 sec)

例三

把用户登录系统的信息存储到数据库里

需要显示如下:

select username 用户名, tty 登录终端, ip 来源IP from login;

创建数据库

mysql> create table login( username varchar(40), tty varchar(40), ip varchar(50));

处理登录数据并存储在文件里:

[root@Admin ~]# last -f /var/log/wtmp |sed -r '/^reboot|^wtmp/d' |awk '{print $1"\t"$2"\t"$3}'|tee /tmp/login

 存储

方法一:

mysql> load data local infile '/tmp/login' into table login;

方法二:

[root@Admin ~]# mysqlimport login '/tmp/login'

查看结果:

mysql> select username 用户名, tty 登录终端, ip 来源IP from login;
+-----------+--------------+---------------+
| 用户名 | 登录终端 | 来源IP |
+-----------+--------------+---------------+
| root | pts/2 | 192.168.1.131 |
| root | pts/1 | 192.168.1.131 |
| root | pts/1 | 192.168.1.131 |
| root | pts/0 | :0.0 |
| root | tty1 | :0 |
| root | pts/0 | :0.0 |
| root | tty1 | :0 |
| | | |
+-----------+--------------+---------------+
8 rows in set (0.00 sec)

到此这篇关于MySQL逻辑备份into outfile的文章就介绍到这了!


Tags in this post...

MySQL 相关文章推荐
MySQL创建索引需要了解的
Apr 08 MySQL
浅谈MySQL next-key lock 加锁范围
Jun 07 MySQL
MySQL高速缓存启动方法及参数详解(query_cache_size)
Jul 01 MySQL
一篇文章看懂MySQL主从复制与读写分离
Nov 07 MySQL
MySQL之MyISAM存储引擎的非聚簇索引详解
Mar 03 MySQL
MySQL实战记录之如何快速定位慢SQL
Mar 23 MySQL
mysql数据插入覆盖和时间戳的问题及解决
Mar 25 MySQL
MySQL数据库如何使用Shell进行连接
Apr 12 MySQL
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
Apr 20 MySQL
Mysql 文件配置解析介绍
May 06 MySQL
Mysql 一主多从的部署
May 20 MySQL
MySql数据库触发器使用教程
Jun 01 MySQL
Mysql开启外网访问
May 15 #MySQL
Mysql索引失效 数据库表中有索引还是查询很慢
MySQL查询日期时间
May 15 #MySQL
MySQL 数据库 增删查改、克隆、外键 等操作
May 11 #MySQL
MySQL 计算连续登录天数
May 11 #MySQL
mysql 获取相邻数据项
May 11 #MySQL
MySQL脏读,幻读和不可重复读
May 11 #MySQL
You might like
实例分析10个PHP常见安全问题
2019/07/09 PHP
javascript 面向对象,实现namespace,class,继承,重载
2009/10/29 Javascript
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
基于jquery完美拖拽,可返回拖动轨迹
2012/03/29 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
微信小程序 Canvas增强组件实例详解及源码分享
2017/01/04 Javascript
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
2017/09/07 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
讲解vue-router之什么是嵌套路由
2018/05/28 Javascript
Vue中util的工具函数实例详解
2019/07/08 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
Python发送email的3种方法
2015/04/28 Python
详解在Python的Django框架中创建模板库的方法
2015/07/20 Python
Django中Forms的使用代码解析
2018/02/10 Python
python编写弹球游戏的实现代码
2018/03/12 Python
python实现简单多人聊天室
2018/12/11 Python
浅谈python的深浅拷贝以及fromkeys的用法
2019/03/08 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
2019/06/25 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2019/09/25 Python
为什么说python更适合树莓派编程
2020/07/20 Python
CSS3 绘制BMW logo实的现代码
2013/04/25 HTML / CSS
基于 HTML5 WebGL 实现的医疗物流系统
2019/10/08 HTML / CSS
Melijoe时尚童装德国官网:Melijoe德国
2016/09/03 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
小学生红领巾广播稿
2014/01/21 职场文书
中国梦演讲稿5分钟
2014/08/19 职场文书
爱情保证书
2015/01/17 职场文书
学年个人总结范文
2015/03/05 职场文书
矛盾论读书笔记
2015/06/29 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python
微信小程序结合ThinkPHP5授权登陆后获取手机号
2021/11/23 PHP
SQL解决未能删除约束问题drop constraint
2022/05/30 SQL Server