MySQL数据导入导出(用于个人学习与回顾)
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,该实例将练习MySQL的导入导出操作实例:将/etc/passwd文件导入userdb库user表并给每条记录加编号将userdb库user表中UID小于100的前10条记录导出,存为/mydata/
千家信息网最后更新 2024年11月24日MySQL数据导入导出(用于个人学习与回顾)
该实例将练习MySQL的导入导出操作
实例:
将/etc/passwd文件导入userdb库user表并给每条记录加编号
将userdb库user表中UID小于100的前10条记录导出,存为/mydata/user1.txt文件
新建userdb库,切换到userdb库,并且设置如下字段;
mysql> create database userdb;Query OK, 1 row affected (0.00 sec)mysql> use userdb;Database changedmysql> create table user( -> username varchar(24) not null, -> password varchar(48) default 'x', -> uid int(5) not null, -> gid int(5) not null, -> fullname varchar(48), -> homedir varchar(64) not null, -> shell varchar(24) not null -> );Query OK, 0 rows affected (0.01 sec)mysql> desc user;+----------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+----------+-------------+------+-----+---------+-------+| username | varchar(24) | NO | | NULL | || password | varchar(48) | YES | | x | || uid | int(5) | NO | | NULL | || gid | int(5) | NO | | NULL | || fullname | varchar(48) | YES | | NULL | || homedir | varchar(64) | NO | | NULL | || shell | varchar(24) | NO | | NULL | |+----------+-------------+------+-----+---------+-------+7 rows in set (0.01 sec)
注:在MySQL 5.7.6版本之后,导入文件只能在secure_file_priv指定的文件夹下。如果直接导入会报错。执行show variables like '%secure%'命令显示文件目录:
mysql> load data infile '/etc/passwd' into table user fields terminated by ':';ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statementmysql> show variables like '%secure%';+--------------------------+-----------------------+| Variable_name | Value |+--------------------------+-----------------------+| require_secure_transport | OFF || secure_auth | ON || secure_file_priv | /var/lib/mysql-files/ |+--------------------------+-----------------------+3 rows in set (0.00 sec)
执行导入操作
-将/etc/passwd文件复制到/var/lib/mysql-files/目录下,
-读取/var/lib/mysql-files/passwd文件内容,以":"为分隔,导入到user表中:
[root@host50 ~]#cp /etc/passwd /var/lib/mysql-files/mysql> LOAD DATA INFILE '/var/lib/mysql-files/passwd'-> INTO TABLE user-> FIELDS TERMINATED BY ':';Query OK, 42 rows affected (0.11 sec)Records: 42 Deleted: 0 Skipped: 0 Warnings: 0
注:上述操作中省略了行分隔 LINES TERMINATED BY '\n',因为这是默认的情况(每行一条原始记录),除非需要以其他字符分割行,才需要用到这个。
确认导入结果
mysql> select count(*) from user;+----------+| count(*) |+----------+| 42 |+----------+1 row in set (0.00 sec)mysql> select * from user limit 10;+----------+----------+-----+-----+----------+-----------------+----------------+| username | password | uid | gid | fullname | 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 || operator | x | 11 | 0 | operator | /root | /sbin/nologin |+----------+----------+-----+-----+----------+-----------------+----------------+10 rows in set (0.00 sec)
为user表中的每条记录添加自动编号,并验证自动编写结果
mysql> alter table user add sn int(4) auto_increment primary key first;Query OK, 0 rows affected (0.03 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> select * from user limit 10;+----+----------+----------+-----+-----+----------+-----------------+----------------+| sn | username | password | uid | gid | fullname | homedir | shell |+----+----------+----------+-----+-----+----------+-----------------+----------------+| 1 | root | x | 0 | 0 | root | /root | /bin/bash || 2 | bin | x | 1 | 1 | bin | /bin | /sbin/nologin || 3 | daemon | x | 2 | 2 | daemon | /sbin | /sbin/nologin || 4 | adm | x | 3 | 4 | adm | /var/adm | /sbin/nologin || 5 | lp | x | 4 | 7 | lp | /var/spool/lpd | /sbin/nologin || 6 | sync | x | 5 | 0 | sync | /sbin | /bin/sync || 7 | shutdown | x | 6 | 0 | shutdown | /sbin | /sbin/shutdown || 8 | halt | x | 7 | 0 | halt | /sbin | /sbin/halt || 9 | mail | x | 8 | 12 | mail | /var/spool/mail | /sbin/nologin || 10 | operator | x | 11 | 0 | operator | /root | /sbin/nologin |+----+----------+----------+-----+-----+----------+-----------------+----------------+10 rows in set (0.00 sec)
从MySQL数据库中导出查询结果
-以将userdb库user表中UID小于100的前10条记录导出为/myload/user2.txt文件为例
首先,修改配置文件中存放导出导入目录及查看修改结果
[root@host50 ~]# mkdir /myload ; chown mysql /myload[root@host50 ~]# vim /etc/my.cnf[mysqld]secure_file_priv="/myload"[root@dbsvr1 ~]# systemctl restart mysqldmysql> show variables like "secure_file_priv";+------------------+----------+| Variable_name | Value |+------------------+----------+| secure_file_priv | /myload/ |
导出user表中UID小于100的前十条记录
mysql> select * from userdb.user where uid<100 -> into outfile '/myload/user.txt' -> fields terminated by ":";Query OK, 26 rows affected (0.00 sec)
确认导出结果
[root@host50 ~]# wc -l /myload/user.txt26 /myload/user.txt[root@host50 ~]# tail /myload/user.txt 25:tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin29:rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin33:gdm:x:42:42::/var/lib/gdm:/sbin/nologin35:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin36:avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin37:postfix:x:89:89::/var/spool/postfix:/sbin/nologin38:ntp:x:38:38::/etc/ntp:/sbin/nologin39:tcpdump:x:72:72::/:/sbin/nologin41:apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin42:mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
文件
结果
目录
实例
数据
原始
内容
命令
字段
字符
情况
数据库
文件夹
版本
这是
中导
会报
切换
查询
配置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全法 gov
网络安全技术实训安全教育
教育部门网络安全责任制
探针 网络安全
人才市场方案数据库
场地管理系统数据库设计
北京常规软件开发诚信服务
歌尔面试软件开发会问什么问题
accp软件开发培训班
服务器直接插硬盘认不出来
ui软件开发面试题
电磁是新一代信息网络技术吗
服务器pc服务器
关于网络安全的好句英语
lol官网技能数据库
江西财经大学网络技术
成都互联网软件开发大概要多少钱
网贷风险数据库包含哪些数据
cad软件开发招聘
济南网络安全技术学院
云服务器带宽怎么解决
怎样破解数据库
云南优质软件开发价格
数据库负载测试工具
信息网络安全类产品
数据库索引文件的实现
希望之村如何创建自己的服务器
浦东新区营销软件开发不二之选
中华数据库水稻品种
gps网络时钟服务器设置