胖达君的超级工具

mysql之数据备份

2022-04-01  本文已影响0人  每天进步一点点变成更好的自己

数据备份主要有2种:物理备份和逻辑备份。
物理备份:通过把数据文件复制出来,达到备份的目的,需要收费。
逻辑备份:把描述数据库结构和内容的信息保存起来,达到备份的目的,免费的。

数据备份的工具:mysqldump,以及用命令行客户端工具mysql和sql语句 source进行数据恢复的方法。

备份数据库中的表:mysqldump -h 服务器 -u 用户 -p 密码 数据库名称 [表名称 … ] > 备份文件名称
备份整个数据库:mysqldump -h 服务器 -u 用户 -p 密码 --databases 数据库名称 … > 备份文件名
备份整个数据库服务器:mysqldump -h 服务器 -u 用户 -p 密码 --all-databases > 备份文件名
使用mysql命令行客户端工具 进行数据恢复:H:\>mysql -u root -p demo < test.sql
使用source语句进行数据恢复:SOURCE 备份文件名

1、如何进行数据备份

数据备份工具:mysqldump,有3中模式:
1、备份数据库中的表
2、备份整个数据库
3、备份整个数据库服务器

1、备份数据库中的表
语法:mysqldump -h 服务器 -u 用户 -p 密码 数据库名称 [表名称 … ] > 备份文件名称

--备份本机数据库服务器上demo数据库中的商品信息表和会员信息表的所有信息
H:\>mysqldump -u root -p demo goodsmaster membermaster > test.sql
Enter password: *****

2、备份整个数据库
语法:mysqldump -h 服务器 -u 用户 -p 密码 --databases 数据库名称 … > 备份文件名

--备份本机数据库服务器中的2个数据库demo和demo1进行备份
H:\>mysqldump -u root -p --databases demo demo1 > test1.sql
Enter password: *****

3、备份整个数据库服务器
语法:mysqldump -h 服务器 -u 用户 -p 密码 --all-databases > 备份文件名

--备份整个数据库到test2.sql中,包括系统数据库和用户创建的数据库中的库结构信息、表结构信息和表里的数据。
H:\>mysqldump -u root -p --all-databases > test2.sql
Enter password: *****

2、如何进行数据恢复

数据恢复方法有2种:

1、使用mysql命令行客户端工具 进行数据恢复
语法:H:\>mysql -u root -p demo < test.sql
Enter password: *****

mysql 是一个命令行客户端工具,可以与 MySQL 服务器之间进行连接,执行 SQL 语句。

2、使用source语句进行数据恢复

语法:SOURCE 备份文件名

mysql> USE demo;
Database changed
mysql> SOURCE H:\\test.sql
Query OK, 0 rows affected (0.00 sec)

3、如何导出和导入表里的数据

1、导出表里的数据

使用“SELECT … INTO OUTFILE”语句导出数据表的语法结构是:
SELECT 字段列表 INTO OUTFILE 文件名称 FIELDS TERMINATED BY 字符 LINES TERMINATED BY 字符 FROM 表名;

mysql.ini文件中的参数,告诉你只能导出到如下路径:
# Secure File Priv.
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"


mysql> SELECT * INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/goodsmaster.txt'
-> FIELDS TERMINATED BY ','
-> LINES TERMINATED BY '\n'
-> FROM demo.goodsmaster;
Query OK, 3 rows affected (0.00 sec)

2、导入表里的数据
“LOAD DATA”是与“SELECT … INTO OUTFILE”相对应的数据导入语句。语句结构是:
LOAD DATA INFILE 文件名 INTO TABLE 表名 FIELDS TERMINATED BY 字符 LINES TERMINATED BY 字符;

--删除商品信息表中的数据
mysql> DELETE FROM demo.goodsmaster
-> WHERE itemnumber>0;
Query OK, 3 rows affected (0.03 sec) 

--导入数据
mysql> LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/goodsmaster.txt'
-> INTO TABLE demo.goodsmaster
-> FIELDS TERMINATED BY ','
-> LINES TERMINATED BY '\n';
Query OK, 3 rows affected (0.02 sec)
Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
上一篇下一篇

猜你喜欢

热点阅读