MySQL之终端下对数据的导入导出、账户管理、数据备份与恢复

本文详细介绍了如何使用MySQL进行数据导入导出、账户管理、数据备份及恢复等操作,为数据库管理员和开发者提供了实用的技巧和步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据导入

将文件系统中的内容导入的数据库中
语法格式:

load data infile '文件名'
into table 表名
fields terminated by "分隔符"
lines terminated by '\n';

倒数第二行是:在一行内根据分隔符分隔成字段对应的值
最后一行是:代表的是这一行以什么结束

注意:导入前先把文件复制到mysql文件夹下,否则无法导入

/var/lib/mysql-files/

另外,导入到这个表中,那么这个表必须提前要创建好,不然也会导入失败

举个例子:
如:将文件scoretable.csv导入到数据库中(假设表以创建好,并且已经在mysql存放文件的路径下了)

load data infile "/var/lib/mysql-files/scoretable.csv"
into table score
fields terminated by ','
lines terminated by '\n';

数据导出

把数据库表的记录导出到系统文件里

语法格式

select 字段值列表 from 表名
into outfile "文件名"
fields terminated by "分隔符"
lines terminated by "\n";

倒数第二行是:导出到的文件中字段的值之间用什么分隔
最后一行是:这一行以什么结束

举个例子: 如,将mysql库下的userinfo表中的name、score 的值导出到系统文件userinfo.txt(名字随便起)

select name, score from userinfo
into outfile "/var/lib/mysql-files/userinfo.txt"
fields terminated by "  "
lines terminateds by "\n";

账户管理

第一:开启远程连接
步骤:

①:sudo -i    # 管理员权限
②:cd /etc/mysqlmysql.conf.d/    # 进入该文件夹下
③:cp mysql.cnf mysal.cnf.bak   # 数据备份
④:vi mysql.cnf  # 用vi打开配置文件,进行修改(可以使用别的打开)
bind-address=xxx.xxx.xxx.xxx
保存退出
⑤:/etc/init.d/mysql restart  # 重启mysql服务

第二:root用户添加 授权用户
步骤:

①:mysql -uroot -p    # root登陆mysql
②:grand 授权列表 on 库名.表名 to "用户名"@"%" identified by "密码" with grant option   # 给用户授权

说明:
    1. 权限列表都有哪些:all privileges(全部)、select、update...
    2. 库名.表名:库.*(该库下的所有表)、*.*(所有库的所有表)
    3. %:任何ip连接。也可以单独指定只有某个ip可以连接

举个例子:添加授权用户rabbit,密码是123,对student库的所有表只有查询、删除权限,可以从任意ip连接。

grant select,selete on student.* to "rabbit"@"%" identified by "123";

查看权限列表:

mysql> select user, host from mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| rabbit           | %         |
| debian-sys-maint | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+

数据备份

命令格式:

mysqldump -u用户名 -p 源库名 > xxx.sql

说明:
源库名的表示方式:

--all-databases          所有的库
库名                      1个库
-B 库名1 库名2 库名3 ...   多个库,用空格隔开
库名 表12 ...          该库的多张表,用空格隔开

举几个栗子:
1. 备份所有的库,名叫:Alldb.sql

mysqldump -uroot -p --all-databases > Alldb.sql
  1. 备份student库中的三张表:名叫:stuscx.sql
mysqldump -uroot -p student t1 t2 t3 > stuscx.sql
  1. 备份sanguo和student两个库,明叫:san_stu.sql
mysqldump -uroot -p -B sanguo student > san_stu.sql

数据恢复

将备份的数据进行恢复
命令格式:

mysql -u用户名 -p 目标库名 < xxx.SQL_server

在备份的多个库中恢复一个库:

mysql -u用户名 -p --one-database 目标库名 < xx.SQL_server

举个例子:在备份的所有库中恢复student库

mysql -uroot -p --one-database student < All.sql

恢复库:
如,恢复student库(恢复的只有三张表,上边备份的stuscx.sql)

mysql -uroot -p student < stuscx.sql

注意:
1. 恢复库时,如果恢复到原库会将表中的数据覆盖,新表不会删除
2. 恢复库时,如果库不存在,则必须先创建空库

The end!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秒不可闫M先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值