【跟晓月学数据库】使用MySQLdump 对数据导入导出

前言

大家好,我是沐风晓月,今天给大家介绍MySQLdump的数据导出导入,希望对你有用。

个人主页:我是沐风晓月
个人简介:大家好,我是沐风晓月,阿里云社区专家博主
座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步
欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信

在这里插入图片描述

文章目录

  • 前言
  • 导入数据库
    • 创建book数据库并导入数据
  • 导出数据库
    • 语法:
    • MySQLdump的其他参数
    • 实战案例
  • 总结

导入数据库

创建book数据库并导入数据

  • 创建数据库
mysql> create database book;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| book               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec)

mysql> 
  • 上传book数据库:

【跟晓月学数据库】使用MySQLdump 对数据导入导出_第1张图片

  • 导入数据库
[root@mufeng41 ~]# mysql -uroot -p'Root!2#admin' book 
  • 查看是否导入成功
mysql> use book
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+----------------+
| Tables_in_book |
+----------------+
| books          |
| category       |
+----------------+
2 rows in set (0.00 sec)

mysql> 

导出数据库

MySQLdump 是一个用于备份和还原 MySQL 数据库的工具。它是 MySQL 官方提供的命令行实用程序,可以将数据库的结构和数据导出为 SQL 文件,并且可以通过导入这些 SQL 文件来还原数据库。

优点:mysql自带,使用方便,备份结果容易操作。少量数据可以使用mysqldump。
缺点: 大量数据下,使用mysqldump恢复较慢,mysqldump再导入数据的时候,都是使用sql语句,需要开启事务,不建议使用。大数据量建议使用XtraBackup。

语法:

  1. 备份整个数据库:
$ mysqldump -u 用户名 -p 数据库名 > 备份文件名.sql

这将创建一个 SQL 文件,其中包含指定的数据库的结构和数据,并将其保存为指定的备份文件。

  1. 备份指定表:
$ mysqldump -u 用户名 -p 数据库名 表名 > 备份文件名.sql

这将创建一个 SQL 文件,其中包含指定数据库中的特定表的结构和数据,并将其保存为指定的备份文件。

  1. 备份多个表:
$ mysqldump -u 用户名 -p 数据库名 表1 表2 表3 > 备份文件名.sql

这将创建一个 SQL 文件,其中包含指定数据库中多个表的结构和数据,并将其保存为指定的备份文件。

  1. 备份指定查询结果:
$ mysqldump -u 用户名 -p 数据库名 --where='查询条件' > 备份文件名.sql

这将创建一个 SQL 文件,其中包含符合指定查询条件的数据,并将其保存为指定的备份文件。

MySQLdump的其他参数

-h 主机名
-P端口
-u 用户名
-p 密码

正常写法:

mysqldump -h主机名 -P端口 -u用户名 -p密码 参数1,参数2.... > 备份文件.sql

实战案例

  • 导出全部数据库表
[root@mufeng41 ~]# mkdir /root/test
[root@mufeng41 ~]# mysqldump -uroot  -p'Root!2#admin' --all-databases > /root/test/all.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@mufeng41 ~]# cd test/
[root@mufeng41 test]# ls
all.sql

  • 导出全部表空间信息
mysqldump -uroot -p'Root!2#admin'  -A --all-tablespaces > all3.sql
mysqldump -uroot -p'Root!2#admin'  -A -Y > /root/db_back/all.sql

  • --databases导出多个库
mysqldump -uroot -p --databases test1 test2 > 2.sql
  • 备份指定数据库的指定表(多个表可以用空格间隔)
mysqldump -uroot -p  mysql db event > /backup/mysqldump/2table.db

总结

MySQLdump的导入导出,已经介绍完了,你学会了吗

你可能感兴趣的:(#,5,-,数据库入门到精通篇,数据库,mysql,linux)