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 表空间碎片的概念及相关问题解决
May 07 MySQL
浅谈mysql执行过程以及顺序
May 12 MySQL
详解MySQL连接挂死的原因
May 18 MySQL
详解MySQL中的主键与事务
May 27 MySQL
mysql优化之query_cache_limit参数说明
Jul 01 MySQL
SQL实现LeetCode(178.分数排行)
Aug 04 MySQL
MySQL数据库⾼可⽤HA实现小结
Jan 22 MySQL
MySQL如何快速创建800w条测试数据表
Mar 17 MySQL
mysql的单列多值存储实例详解
Apr 05 MySQL
MySQL库表太大怎么办? 数据库分库分表项目实践
Apr 11 MySQL
MySQL数据库 安全管理
May 06 MySQL
MySQL普通表如何转换成分区表
May 30 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
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
php实现简单文件下载的方法
2015/01/30 PHP
php实现简单的MVC框架实例
2015/09/23 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
php实现微信分享朋友链接功能
2019/02/18 PHP
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
JS实现环形进度条(从0到100%)效果
2016/07/05 Javascript
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
2016/07/25 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
浅谈AngularJs指令之scope属性详解
2016/10/24 Javascript
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
2018/04/08 Javascript
vue中axios的封装问题(简易版拦截,get,post)
2018/06/15 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
vue富文本编辑器组件vue-quill-edit使用教程
2018/09/21 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
JavaScript定时器常见用法实例分析
2019/11/15 Javascript
JS+JQuery实现无缝连接轮播图
2020/12/30 jQuery
纯python实现机器学习之kNN算法示例
2018/03/01 Python
浅谈python3.6的tkinter运行问题
2019/02/22 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
Python列表list常用内建函数实例小结
2019/10/22 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
linux面试题参考答案(6)
2016/06/23 面试题
《灰椋鸟》教学反思
2014/04/27 职场文书
优秀员工推荐信
2014/05/10 职场文书
安全负责人任命书
2014/06/06 职场文书
三方股份合作协议书
2014/10/13 职场文书
党小组推荐意见
2015/06/02 职场文书
高中数学课堂教学反思
2016/02/18 职场文书
Python中的协程(Coroutine)操作模块(greenlet、gevent)
2022/05/30 Python
3050和2060哪个好 性能差多少 差距有多大 谁更有性价比
2022/06/17 数码科技
vscode内网访问服务器的方法
2022/06/28 Servers