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 24 MySQL
MySQL慢查询的坑
Apr 28 MySQL
MySQL 可扩展设计的基本原则
May 14 MySQL
MySQL 覆盖索引的优点
May 19 MySQL
MySQL 数据恢复的多种方法汇总
Jun 21 MySQL
MySQL数据库超时设置配置的方法实例
Oct 15 MySQL
Mysql超详细讲解死锁问题的理解
Apr 01 MySQL
Mysql调整优化之四种分区方式以及组合分区
Apr 13 MySQL
Mysql 如何合理地统计一个数据库里的所有表的数据量
Apr 18 MySQL
MySQL事务的隔离级别详情
Jul 15 MySQL
Mysql中mvcc各场景理解应用
Aug 05 MySQL
MySQL深分页问题解决思路
Dec 24 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
基于数据库的在线人数,日访问量等统计
2006/10/09 PHP
php 中include()与require()的对比
2006/10/09 PHP
PHP中Memcache操作类及用法实例
2014/12/12 PHP
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
PHP命名空间(namespace)原理与用法详解
2019/12/11 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
固定网页背景图同时保持图片比例的思路代码
2013/08/15 Javascript
jQuery简单实现验证邮箱格式
2015/07/15 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
2016/12/24 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
template.js前端模板引擎使用详解
2017/10/10 Javascript
VUE饿了么树形控件添加增删改功能的示例代码
2017/10/17 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
2018/08/22 Javascript
jsonp跨域及实现百度首页联想功能的方法
2018/08/30 Javascript
详解Axios统一错误处理与后置
2018/09/26 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
jQuery实现弹出层效果
2019/12/10 jQuery
Element-ui el-tree新增和删除节点后如何刷新tree的实例
2020/08/31 Javascript
Python正则表达式的使用范例详解
2014/08/08 Python
详解flask表单提交的两种方式
2018/07/21 Python
python对列进行平移变换的方法(shift)
2019/01/10 Python
python函数声明和调用定义及原理详解
2019/12/02 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
CSS3实现网站商品展示效果图
2020/01/18 HTML / CSS
阿拉伯书店:Jamalon
2019/07/24 全球购物
求职简历中的自我评价分享
2013/12/08 职场文书
施工资料员的岗位职责
2013/12/22 职场文书
药品营销专业毕业生自荐信
2014/07/02 职场文书
小学教师读书活动总结
2014/07/08 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
维稳工作承诺书
2015/01/20 职场文书
javascript对象3个属性特征
2021/11/17 Javascript
vue修饰符.capture和.self的区别
2022/04/22 Vue.js