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 不等于的三种使用及区别
Jun 03 MySQL
你知道哪几种MYSQL的连接查询
Jun 03 MySQL
mysql备份策略的实现(全量备份+增量备份)
Jul 07 MySQL
MySQL 那些常见的错误设计规范,你都知道吗
Jul 16 MySQL
Mysql8.0递归查询的简单用法示例
Aug 04 MySQL
浅谈MySQL表空间回收的正确姿势
Oct 05 MySQL
mysql中int(3)和int(10)的数值范围是否相同
Oct 16 MySQL
MySQL中varchar和char类型的区别
Nov 17 MySQL
MySQL的索引你了解吗
Mar 13 MySQL
在MySQL中你成功的避开了所有索引
Apr 20 MySQL
MySQL安装失败的原因及解决步骤
Jun 14 MySQL
mysql查看表结构的三种方法总结
Jul 07 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
php生成WAP页面
2006/10/09 PHP
php中使用临时表查询数据的一个例子
2013/02/03 PHP
php实现utf-8转unicode函数分享
2015/01/06 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
详解AngularJS 模块化
2017/06/14 Javascript
inner join 内联与left join 左联的实例代码
2017/09/18 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
2019/05/10 Javascript
[01:06:26]全国守擂赛第二周 Team Coach vs DeMonsTer
2020/04/28 DOTA
[01:11:21]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第一场 3月6日
2021/03/11 DOTA
python求crc32值的方法
2014/10/05 Python
Python列表list数组array用法实例解析
2014/10/28 Python
python实现感知器
2017/12/19 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
Python如何使用神经网络进行简单文本分类
2021/02/25 Python
CSS3实现精美横向滚动菜单按钮
2017/04/14 HTML / CSS
加拿大最大的钻石商店:Peoples Jewellers
2018/01/01 全球购物
JD Sports瑞典:英国领先的运动时尚商店
2018/01/28 全球购物
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
购买一个高级域名:BuyDomains
2018/03/11 全球购物
C++如何引用一个已经定义过的全局变量
2014/08/25 面试题
办护照工作证明范本
2014/01/14 职场文书
反邪教标语
2014/06/23 职场文书
北京故宫导游词
2015/01/31 职场文书
滴水洞导游词
2015/02/10 职场文书
2015年初中生自我评价范文
2015/03/03 职场文书
安全教育主题班会教案
2015/08/12 职场文书
Python自动化之批量处理工作簿和工作表
2021/06/03 Python